Propel到底是什么?
Propel是PHP中用于SQL数据库的开源对象关系映射(ORM)。它允许您使用一组对象来访问数据库,从而提供用于存储和检索数据的简单API。
除了其ORM功能外,它还提供了一个查询生成器,数据库模式迁移,现有数据库的反向工程等等。
为什么要使用Propel?
Propel为PHP应用程序开发人员提供了方便操作数据库的工具,使用它就和PHP中的其他类和对象一样,它们无需编写SQL。
开发速度飞起提供查询生成器自动代码生成,方便IDE注解提供生成所有列和关系的方法提供数据库架构迁移可以进行模式逆向工程文档超丰富推进带有常见的“行为”怎么使用Propel
您需要将表的定义编写为xml,然后通过命令database:reverse从现有数据库中将其导出,或者通过ORM-Designer之类的工具进行构建。
?xmlversion=1.0encoding=UTF-8?databasename=bookstoredefaultIdMethod=nativetablename=bookphpName=Bookcolumnname=idtype=integerrequired=trueprimaryKey=trueautoIncrement=true/columnname=titletype=varcharsize=required=true/columnname=isbntype=varcharsize=24required=truephpName=ISBN/columnname=author_idtype=integerrequired=true/foreign-keyforeignTable=authorreferencelocal=author_idforeign=id//foreign-key/tabletablename=authorphpName=Authorcolumnname=idtype=integerrequired=trueprimaryKey=trueautoIncrement=true/columnname=first_nametype=varcharsize=required=true/columnname=last_nametype=varcharsize=required=true//table/database
它使用PDO作为抽象层和代码生成来消除运行时自省的负担,以提高执行效率。
Propel实现了成熟的ORM层的所有关键概念:ActiveRecord模式,验证器,行为,表继承,对现有数据库进行反向工程,嵌套集,嵌套事务,延迟加载,LOB(您为其命名)。
Propel优点
可扩展性是Propel设计的核心。无论您需要自定义什么,Propel都可以让您快速完成。当您需要自定义查询或者需要定义复杂查询的时候,Propel非常的方便。Propel支持MySQL,PostgreSQL,SQLite,MSSQL和Oracle。你可以任意切换数据源来完成你的项目的构建。Propel生成的代码具有良好的注释能力,对IDE友好且易于使用。Propel项目始于年,现已为数千个网站提供支持。有着悠久的历史和全面记录的文档。