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

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


当前回答

让我们尝试一下dORM,它是PHP 5的对象关系映射器。它支持所有类型的关系(1对1)、(1对多)、(多对多)和数据类型。它完全不引人注目:不需要代码生成或类扩展。在我看来,它比任何ORM都要优越,包括Doctrine和Propel。然而,它仍处于测试阶段,并可能在未来几个月发生重大变化。http://www.getdorm.com

它的学习曲线也非常小。你将使用的三个主要方法是:

<?php 
$object = $dorm->getClassName('id_here');
$dorm->save($object);
$dorm->delete($object);

其他回答

如果您正在寻找ORM(如Hibernate),则应该查看PMO。

它可以很容易地集成到SOA体系结构中(只需要开发一个webservice类)。

你应该去伊迪奥姆和巴黎看看。

我一直在培养波克。dbObject在我自己。(一个简单的PHP ORM和活动记录实现) 主要原因是我发现大多数orm太重了。

波克的主要思想。dbObejct是轻量级的,易于设置。没有一堆XML文件,只有构造函数中的一个函数调用来绑定它,以及一个addRelation或addCustomRelation来定义与另一个dbObject的关系。

看一下:Pork.dbObject

尝试了蓬勃库的ORM。

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

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