PHP5中的对象持久层实现:Propel简介

传统的PHP应用程序一般采用无框架的Client-Server-Database三层模式,实现起来快速,很适合中小企业搭建动态站点的需求。 PHP5的出现,把PHP引向更广泛的使用领域。现在的站点,不仅要考虑站点的运行效率,还要综合开发效率以及未来的维护成本。于是有很多站点开始用基于 MVC模式的框架。
在M,也即模型中,考虑的正是数据模型的存储和数据。一般的解决方案将使得在业务逻辑中夹杂着较多的SQL。 ORM的出现很好的解决了这个问题。

Propel是一个ORM的PHP实现。

简介:
Propel是一个基于Apache Torque的对象持久层,需要PHP5支持.实际上,它让你使用 对象 代替SQL 来读写数据库表中的记录.它提供了一个生成器来创建基于你的数据模型的SQL定义文件和相应的类文件,并有一个运行时引擎透明的处理对象持久和获取工作. 如果要定制生成的类将是很简单的事情,XML, PHP类和Phing构建工具使得把Propel集成到已有的应用程序框架也相当的容易.
Propel算是PHP中对ORM的实现,并且用到它的兄弟项目Creole作为数据抽象层.
它的核心思想是:通过 XML 格式的模式文件和相应的配置文件来生成SQL和类, 在数据库抽象的基础上,  更近一步,它”隐藏”了数据库,使得WEB开发人员专注于业务逻辑上.
实践:著名PHP框架 symfony使用了精简版的Propel.
相关:PEAR DB_DataObject是另一个轻型的ORM实现,不过它的数据库抽象层使用的是 PEAR DB.
链接:
http://propel.phpdb.org
http: //creole.phpdb.org