除了其ORM功能外,它还供应了一个查询天生器,数据库模式迁移,现有数据库的反向工程等等。
为什么要利用Propel?
Propel为PHP运用程序开拓职员供应了方便操作数据库的工具,利用它就和PHP中的其他类和工具一样,它们无需编写SQL。
开拓速率飞起供应查询天生器自动代码天生,方便IDE表明供应天生所有列和关系的方法供应数据库架构迁移可以进行模式逆向工程文档超丰富推进带有常见的“行为”怎么利用Propel
您须要将表的定义编写为xml,然后通过命令database:reverse从现有数据库中将其导出,或者通过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>
它利用PDO作为抽象层和代码天生来肃清运行时自省的包袱,以提高实行效率。
Propel实现了成熟的ORM层的所有关键观点:ActiveRecord模式,验证器,行为,表继续, 对现有数据库进行反向工程,嵌套集,嵌套事务,延迟加载,LOB(您为其命名)。
Propel优点可扩展性是Propel设计的核心。无论您须要自定义什么,Propel都可以让您快速完成。当您须要自定义查询或者须要定义繁芜查询的时候,Propel非常的方便。Propel支持MySQL,PostgreSQL,SQLite,MSSQL和Oracle。你可以任意切换数据源来完成你的项目的构建。Propel天生的代码具有良好的注释能力,对IDE友好且易于利用。Propel项目始于2005年,现已为数千个网站供应支持。有着悠久的历史和全面记录的文档。