![]() |
VOOZH | about |
Via Composer
"require":{"propel/propel":"~2.0@beta"}All releases at packagist.org: packagist.org/packages/propel/propel
All releases at github.com: github.com/propelorm/Propel2/releases
Propel is strongly unit tested and is developed under Continuous Integration with a Test Driven Development approach.
We use Travis-CI to automatically build our projects, and here are the statuses of our master branches:
| Propel2 | 👁 Image |
| PropelBundle (by SkyFoxvn) | 👁 Image |
| sfPropelORMPlugin | 👁 Image |
Propel2’s code climate:
Propel is an open-source Object-Relational Mapping (ORM) for SQL-Databases in PHP8. It allows you to access your database using a set of objects, providing a simple API for storing and retrieving data.
Additional to its ORM capabilities it does provide a query-builder, database schema migration, reverse engineering of existing database and much more.
Propel gives you, the web application developer, the tools to work with databases in the same way you work with other classes and objects in PHP without writing SQL.
You need to write the definition of your tables as xml, export it from your existing database through our ‘database:reverse’ command or build it via a tool like ORM-Designer.
<?xml version="1.0" encoding="UTF-8"?>
<database name="bookstore" defaultIdMethod="native">
<table name="book" phpName="Book">
<column name="id" type="integer" required="true" primaryKey="true" autoIncrement="true"/>
<column name="title" type="varchar" size="255" required="true" />
<column name="isbn" type="varchar" size="24" required="true" phpName="ISBN"/>
<column name="author_id" type="integer" required="true"/>
<foreign-key foreignTable="author">
<reference local="author_id" foreign="id"/>
</foreign-key>
</table>
<table name="author" phpName="Author">
<column name="id" type="integer" required="true" primaryKey="true" autoIncrement="true"/>
<column name="first_name" type="varchar" size="128" required="true"/>
<column name="last_name" type="varchar" size="128" required="true"/>
</table>
</database>
It uses PDO as an abstraction layer and code generation to remove the burden of runtime introspection to achieve the fast execution time.
Propel implements all the key concepts of mature ORM layers: the ActiveRecord pattern, validators, behaviors, table inheritance, reverse engineering an existing database, nested sets, nested transactions, lazy loading, LOB, you name it.
Propel is built for developers who need to keep control of their code:
Propel is released under the MIT license. It’s free to use, even in commercial applications.
Do you want to know more? Jump to the Documentation tab, or start exploring the code in the GitHub repository.