PHP有好的对象关系映射库吗?

我知道PDO/ADO,但它们似乎只提供了数据库供应商之间差异的抽象,而不是域模型和关系模型之间的实际映射。我正在寻找一个PHP库,功能类似于Hibernate为Java和NHibernate为。net所做的方式。


当前回答

qcube框架中包含了一个很棒的ORM;它基于代码生成和搭建。与基于反射的ActiveRecord不同,代码生成基于数据库为您生成骨架类,然后让您自定义它们。这招很管用。

其他回答

检查出口ORM。它比Propel和Doctrine更简单,它的工作原理类似于Hibernate,只是它有更多的PHP感觉。

看看Kohana的LEAP ORM。它可以与一系列数据库一起工作,包括DB2、Drizzle、Firebird、MariaDB、SQL Server、MySQL、Oracle、PostgreSQL和SQLite。通过一个简单的自动加载函数,它可以与几乎任何PHP框架一起工作。源代码在GitHub上https://github.com/spadefoot/kohana-orm-leap。你可以在线查看LEAP的教程。

ORM库使用非整数主键和复合键。连接是通过数据库连接池管理的,它与原始SQL查询一起工作。ORM甚至有一个查询构建器,使构建SQL语句超级简单。

PHP ORM面向PDO扩展。参见PHP Faces Framework。

$urun = new Product();
$urun->name='CPU'
$urun->prince='124';
$urun->save();

如果你喜欢冒险,可以试试Repose。与Outlet一样,它也模仿Hibernate。

它仍然处于开发的早期阶段,但到目前为止,域模型的唯一限制是类没有标记为final,属性没有标记为private。一旦我进入了PHP >= 5.3的领域,我将尝试实现对私有属性的支持。

看着叙利亚ORM。这是一个新的ORM,项目还处于开发阶段,但下个月将发布1.0版本。