PHP有好的对象关系映射库吗?
我知道PDO/ADO,但它们似乎只提供了数据库供应商之间差异的抽象,而不是域模型和关系模型之间的实际映射。我正在寻找一个PHP库,功能类似于Hibernate为Java和NHibernate为。net所做的方式。
PHP有好的对象关系映射库吗?
我知道PDO/ADO,但它们似乎只提供了数据库供应商之间差异的抽象,而不是域模型和关系模型之间的实际映射。我正在寻找一个PHP库,功能类似于Hibernate为Java和NHibernate为。net所做的方式。
当前回答
我真的很喜欢Propel,在这里你可以得到一个概述,文档非常好,你可以通过PEAR或SVN获得它。
你只需要安装PHP5,然后Phing就可以开始生成类了。
其他回答
我在PHP库中找到了ORM相关的类。
Axon ORM是Fat-Free Framework的一部分-它具有一个动态映射器。没有代码生成器。没有愚蠢的XML/YAML配置文件。它直接从后端读取数据库模式,因此在大多数CRUD操作中,您甚至不需要扩展基本模型。它适用于所有主要pdo支持的数据库引擎:MySQL, SQLite, SQL Server/Sybase, Oracle, PostgreSQL等。
/* SQL */
CREATE TABLE products (
product_id INTEGER,
description VARCHAR(128),
PRIMARY KEY (product_id)
);
/* PHP */
// Create
$product=new Axon('products'); // Automatically reads the above schema
$product->product_id=123;
$product->description='Sofa bed';
$product->save(); // ORM knows it's a new record
// Retrieve
$product->load('product_id=123');
echo $product->description;
// Update
$product->description='A better sofa bed';
$product->save(); // ORM knows it's an existing record
// Delete
$product->erase();
最重要的是,插件和附带的SQL数据访问层与框架一样轻量级:14 KB (Axon) + 6 KB (SQLdb)。Fat-Free只有55kb。
尝试了蓬勃库的ORM。
Sado是一个简单的PHP ORM包,易于使用,并提供视频教程
试试PHP ADOdb吧。
我不能说它是最好的,因为我没有用过其他的。但是它很快,它支持Memcached和缓存。
而且它比Zend Framework的DB/Select快多了。