PHP框架和ORM与存储过程

Seq*_*zia 2 php orm symfony1 zend-framework cakephp

我正在为我正在启动的Web应用程序选择PHP框架.我过去从未真正使用过框架,但是这个项目非常需要.

我一直在争论通常的嫌疑人; CakePHP,Zend Framework和Symfony.我一直在回顾哪个框架对我和这个项目最有效.我倾向于CakePHP,但我仍在研究.

我的问题不是什么框架是最好的.我知道没有真正的答案,并且有很多与此主题相关的帖子.我的问题与模型和ORM有关.我已经阅读了很多关于ORM缓慢而且我关注速度的内容.我很乐于编写SQL,并且过去曾尝试在存储过程中保留所有数据库交互.

我正在寻找一些关于使用CakePHP的ORM或Doctrine与Zend或Symfony的反馈,以确保将所有内容保存在存储过程中.我知道存储过程会更快但如果我不使用ORM,我还会松开什么?我知道ORM会给我数据库抽象,但在我看来,它只是帮助那些不编写SQL的人.我也知道我对ORM知之甚少.

如果有人可以给我一些关于这个的反馈,哪个框架可能最好基于使用或不使用ORM.

在此先感谢您的帮助.

Mar*_*son 8

0)努力奋斗

ORM的关键优势在于您不会花费太多时间来处理持久层.预先编写的ORM(我使用过EclipseLink)将提供大量您可能无法在自定义编写的存储过程中获得的东西.我认为值得考虑你想花多少时间编写持久层.

1)缓存

所有主要的ORM都提供多级分布式缓存.结合命名/预定义查询,您可以获得实际上不必转到数据库的SQL查询.这可以为您带来出色的表现.

2)抽象

ORM允许您在一个位置定义表布局,然后它们管理列/表和对象之间的所有痛苦映射.有些将允许您重新映射列,表和模式名称而不更改任何代码.如果你与喜欢改变周围事物的人一起工作,这可以真正简化事情.

3)速度

有些ORM可能会有糟糕的性能,但它实际上取决于您如何使用它.我发现你倾向于过度询问事物.另一方面,您可以获得内置查询分析器等内容.如果您发现无法获得所需的性能,则可以为查询编写自定义SQL.