我将开始使用CakePHP 2.2进行新的Web项目,以前主要与Zend Framework 1一起工作过。

乍看之下,我真的很喜欢CakePHP处理模型和基础数据库表的方式,特别是在快速建立一对多和多对多关系的方面。坦率地说,与我以前在Zend Framework中做事的方式相比,似乎有了新鲜空气。

但是,在过去的几年中,在使用Zend Framework时,我曾考虑过使用Doctrine提供ZF相当笨拙的模型关系。主义在我看来非常强大和灵活。

因此,现在我想知道,在我不深入研究新的CakePHP项目之前,我是否仍应考虑在新的框架选择中使用Doctrine?与CakePHP的内置ORM和数据库功能相比,Doctrine有什么优点和缺点(无双关!)?

最佳答案

如果整体使用CakePHP,则效果最好。在您的特定情况下,您可以根据需要使用Doctrine代替Cake的ORM,但您会失去很多Cake的功能。例如。 FormHelper可以“神奇地”完成许多事情,例如使用模型的模式猜测字段的正确输入类型等,当验证失败时,会在表单中适当字段下方自动显示错误消息,等等。

正如您所评论的那样,您也没有使用Doctrine的经验,因此我建议您坚持使用CakePHP的ORM,并且仅在发现满足您需求的情况下才选择选项。

10-07 20:01
查看更多