Ian*_*n P 116
看看学说.
Doctrine 1.2实现了Active Record.Doctrine 2+是一个DataMapper ORM.
另外,看看Xyster.它基于Data Mapper模式.
另外,请查看DataMapper与Active Record.
小智 101
试试RedBean,它要求:
它甚至可以为您执行所有锁定和事务处理,并在后台监视性能.(哎呀!它甚至可以进行垃圾收集....)最重要的是......你不必写一行代码......耶稣这个,ORM层,救了我屁股!
bco*_*sca 33
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();
Run Code Online (Sandbox Code Playgroud)
最重要的是,插件和附带的SQL数据访问层与框架一样轻量级:14 KB(Axon)+ 6 KB(SQLdb).无脂肪只需55 KB.
Sch*_*kie 28
我一直在自己开发Pork.dbObject.(一个简单的PHP ORM和Active Record实现)主要原因是我发现大多数ORM太重了.
Pork.dbObejct的主要思想是重量轻,设置简单.没有一堆XML文件,只是构造函数中的一个函数调用来绑定它,addRelation或addCustomRelation来定义与另一个dbObject的关系.
Tom*_*rek 22
试试Doctrine2.它可能是PHP最强大的ORM工具.我将它与Doctrine 1分开提及,因为它是一个完全不同的软件.它已经从头开始重写,仍然处于测试阶段,但现在可以使用并开发了.
这是一个非常复杂的ORM,但设计精良.原始主义1的许多魔法消失了.它提供了一个完整的解决方案,您可以在Doctrine2之上编写自己的ORM,或只使用其中一个层.
小智 12
查看Outlet ORM.它比Propel和Doctrine更简单,它的工作方式类似于Hibernate,只有更多的PHP感觉.
尝试使用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);
Run Code Online (Sandbox Code Playgroud)