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

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


当前回答

NotORM

include "NotORM.php";
 $pdo = new PDO("mysql:dbname=software");
 $db = new NotORM($pdo);
 $applications = $db->application()
->select("id, title")
->where("web LIKE ?", "http://%")
->order("title")
->limit(10)
;
foreach ($applications as $id => $application) {
echo "$application[title]\n";
}

其他回答

看看《教义》。

Doctrine 1.2实现了活动记录。Doctrine 2+是一个DataMapper ORM。

还有,看看Xyster。它基于Data Mapper模式。

另外,看看DataMapper和活动记录。

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

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

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

巴西ORM: http://www.hufersil.com.br/lumine。它适用于PHP 5.2+。在我看来,它是葡萄牙人和巴西人的最佳选择,因为它有易于理解的文档和大量的示例可供下载。

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