PHP有好的对象关系映射库吗?
我知道PDO/ADO,但它们似乎只提供了数据库供应商之间差异的抽象,而不是域模型和关系模型之间的实际映射。我正在寻找一个PHP库,功能类似于Hibernate为Java和NHibernate为。net所做的方式。
PHP有好的对象关系映射库吗?
我知道PDO/ADO,但它们似乎只提供了数据库供应商之间差异的抽象,而不是域模型和关系模型之间的实际映射。我正在寻找一个PHP库,功能类似于Hibernate为Java和NHibernate为。net所做的方式。
当前回答
PdoMap试试。维基百科称其灵感来自Hibernate。因为我从未使用过Hibernate,所以我无法判断:),但根据我的经验,我想说的是,它是一种好的、快速的ORM,易于实现,学习曲线不像其他ORM那么陡峭。
其他回答
检查出口ORM。它比Propel和Doctrine更简单,它的工作原理类似于Hibernate,只是它有更多的PHP感觉。
我一直在培养波克。dbObject在我自己。(一个简单的PHP ORM和活动记录实现) 主要原因是我发现大多数orm太重了。
波克的主要思想。dbObejct是轻量级的,易于设置。没有一堆XML文件,只有构造函数中的一个函数调用来绑定它,以及一个addRelation或addCustomRelation来定义与另一个dbObject的关系。
看一下:Pork.dbObject
如果你喜欢冒险,可以试试Repose。与Outlet一样,它也模仿Hibernate。
它仍然处于开发的早期阶段,但到目前为止,域模型的唯一限制是类没有标记为final,属性没有标记为private。一旦我进入了PHP >= 5.3的领域,我将尝试实现对私有属性的支持。
我的朋友Kien和我对他在PHP 5.3之前编写的ORM的早期版本进行了改进。我们实际上已经将Ruby on Rails的活动记录移植到PHP。它仍然缺少一些我们想要的关键特性,比如事务,复合主键支持,更多的适配器(目前只有MySQL和SQLite 3可用)。但是,我们已经非常接近完成这些工作了。你可以看看带有PHP 5.3的PHP ActiveRecord。
PHP ORM面向PDO扩展。参见PHP Faces Framework。
$urun = new Product();
$urun->name='CPU'
$urun->prince='124';
$urun->save();