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

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


当前回答

PdoMap试试。维基百科称其灵感来自Hibernate。因为我从未使用过Hibernate,所以我无法判断:),但根据我的经验,我想说的是,它是一种好的、快速的ORM,易于实现,学习曲线不像其他ORM那么陡峭。

其他回答

在PHP 5.3发布之前,不要期望有一个好的ORM。这是PHP的面向对象限制。

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

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

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

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

看一下:Pork.dbObject

Doctrine2试试。它可能是最强大的PHP ORM工具。我把它和教义一分开提,因为它是完全不同的软件。它是从头重写的,仍然处于测试阶段,但现在已经可以使用了。

这是一个非常复杂的ORM,但设计得很好。第一条教义中的很多魔法都消失了。它提供了一个完整的解决方案,您可以在Doctrine2的基础上编写自己的ORM,也可以只使用其中的一个层。

我在Idiorm和巴黎都有很好的经历。Idiorm是一个小而简单的ORM库。Paris是在Idiorm上构建的一个同样简单的活动记录实现。它是PHP 5.2+ PDO。如果您想要一些简单的东西,可以直接放到现有的应用程序中,那么它是完美的。