Technology
Propel Technology
Base
Propel is based on Apache Torque, a well-established O/R solution for Java.
Propel is actually two tools which work together to provide efficient object persistence customized for your RDBMS: a generator and a runtime framework.
Generator
Based on a simple XML schema describing your database and tables, the generator will build PHP classes to interact with your data model and SQL definition files to create the tables, keys, sequences etc. for your specific RDBMS. The use of a build system to create RDBMS-specific SQL makes for a truly database-independent system without sacrificing performance.
Runtime
The runtime framework provides the ability to use these generated classes in your PHP scripts to transparently handle reading from and writing to your database.
Related Technology
Phing
Propel uses Phing v2 ( http://phing.info) to perform the build operations. Phing is a PHP5 build framework based on Apache Ant. Phing functionality can be easily extended by writing custom tasks, which is what Propel has done. Propel's use of Phing makes it simple to integrate the Propel generator with a more general build process for your application.
PDO
Propel uses PHP Data Objects (PDO) to access various database engines at top speed. PDO is installed by default on almost every PHP5 distribution, so that shouldn't be a problem. Just check that you have enabled the PDO adapter for your RDMS before using Propel (e.g. pdo_mysql).
PHPUnit
All the Propel unit tests are written with PHPUnit. In order to run the test suite, you must install PHPUnit.
PEAR::Log
Currently the only PEAR package required by Propel is PEAR::Log. The PEAR Log package provides a simple and flexible way to handle logging. This is not currently packaged with Propel, but should be provided with most PHP default installations. PEAR::Log is only required at build-time by Phing, not by the generated classes in the runtime environment.