活动记录
时间:2020-03-05 18:46:00 来源:igfitidea点击:
有没有人对在PHP中实现ActiveRecord有任何建议?我一直在使用CBL ActiveRecord,但我想知道是否有可行的替代方案。
解决方案
回答
要看! ;)
例如,有ADODB的Active Record实现,然后有Zend_Db_DataTable和Doctrine。这些是我所知道的,我相信还有更多的实现。
在这三者中,我会推荐"教义"。上次我检查Adodb是否为PHP4带来了很多额外的重量,并且就完整性和性能而言,通常不知道Zend_Db_ *是最好的(很可能是由于其年龄太小)。
除了Active Table之外,一般的数据库抽象事物(又名DBAL)都有很多东西(例如迁移),因此值得一试,因此,如果我们还没有打算使用DBAL,则需要进行检查。 。
回答
虽然不是严格的ActiveRecord,但Zend_Db_Table
很好
回答
我找到了其他一些实现的示例:
卢克·贝克(Luke Baker)有一个他用PHP称其为Active Record。
Flinn发表了一篇文章,说明了为什么在PHP中不可能实现这一点,因为在Ruby中所有事物都是对象。在这里进行跟进
我知道有几个看过ZF的人我们尝试过吗?
CakePHP?
回答
这更多是关于如何实现的技巧,但是我开始涉猎在PHP中创建ActiveRecord / DataMapper实现,并很快遇到了类似数组访问的许多障碍。最终,我找到了PHP的SPL扩展,尤其是ArrayObject和ArrayIterator。这些开始使我的生活变得轻松多了。不幸的是,我没有太多时间致力于此,但是任何尝试这种方法的人都应该检查一下。