我正在寻找Ruby的PHP活动记录.这么简单,我只是定义我的字段,扩展基本的ORM类,我免费获得ACID操作.我应该在不编写任何代码的情况下获取默认的getter和setter,但是覆盖默认的getter或setter就像声明get $ fieldName或使用我想要的行为设置$ fieldName函数一样简单.Symphony使您可以为每个对象创建大约5个文件,并且所有已定义的对象始终会加载到我所知的范围内.什么是更好的选择?为什么更好?你能在答案中加上简单的例子吗?
除了交响乐之外,Doctrine是另一个我看过的ORM.您还需要创建描述数据结构的yaml文件.数据库已经定义了这个东西.什么只是读取我的表defs而不必在任何地方生成和存储配置文件?
我是一个大风扇的教义这是一个将被替换为行走Symfony的默认的ORM一个全功能的ORM.
它有你期望的基本ORM东西以及我发现很棒的全功能查询构建器.
它配备了一整套命令行工具来管理您的数据库.例如,你可以创建你在YAML模式和固定装置,有学说基于您的架构类,创建数据库,创建基于模型的架构,然后填充你的灯具数据库中所有与单一./doctrine build-all-reload
.
它还包括对数据库迁移的支持,最近更新了迁移以自动区分和生成迁移模型.
根据您的学说投诉,您可以运行命令./doctrine generate-models-db
或./doctrine generate-yaml-db
分别从当前数据库设置自动创建模型和yaml文件.
其他细节包括" 行为 ",它可以在您的架构中实现某些行为时更轻松.例如,您可以将"Timestampable"行为添加到类文件中.Doctine会自动添加'created_at'和'updated_at'列,填充它们,每次$object->save()
运行都会自动更新'updated_at'列.更复杂的行为包括i18n,表版本控制和树(尽管实际上只有NestedSet).
就个人而言,我一直非常迷恋于学说,并且每次机会都会对它赞不绝口.
我使用一个名为redbean的鲜为人知的orm层.你可以在这里找到它:http://www.redbeanphp.com.它的绝对独特之处在于它只是创建表列和索引,而不需要任何配置文件.我发现这是一个巨大的节省时间!
CodeIgniter(http://codeigniter.com/user_guide/database/active_record.html)及其PHP5仅fork Kohana(http://docs.kohanaphp.com/libraries/orm)都包含ActiveRecord模式的实现.
我创造了自己的,没有膨胀.(虽然我需要更新我的现场资源)
我创建它完全是你提到的几点:没有几十个xml文件,没有庞大的框架,只有简单的构造函数与数据库到属性mappigns,它做你的基本CRUD /查找/加入的东西.对于我做的大多数事情,我甚至不需要编写自定义查询.
我之前也在我的网站上写过所有这些内容,请务必查看基本示例以了解它.
我将发布的下一个版本带有加入连接的工作单行连接(通过数据库走"路径"),基于ini的数据库设置,跨数据库支持,超简单数据库抽象和标准记录器如果您的数据库已关闭,请返回SQLite.
如果您对更新感兴趣,请大声说出来,然后我就会急于求成.
哦,是的,不要忘记,还有一个很好的视觉脚手架发电机叫做Pork.Generator.它试图分析你的数据库结构并找到1:1 1:很多很多:很多关系,并且可以自动为你生成类:-)
(来源:schizofreend.nl)