首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Symfony和CakePHP是否太慢而无法使用?

Symfony和CakePHP是否太慢而无法使用?
EN

Stack Overflow用户
提问于 2010-05-28 20:27:00
回答 5查看 5.7K关注 0票数 17

直到现在,我一直在说CakePHP过于臃肿和缓慢。我真的不知道,我只是看到了“一些”基准。我真正想知道的是,如果这两个框架(Symfony和CakePHP)太慢而无法使用,用户会感到沮丧。我已经知道这些框架比其他替代框架慢,但这不是问题所在。

我问这个问题是因为我想创建一个项目管理web应用程序,而我仍然在几个框架之间犹豫不决。我在学习Zend时遇到了一些麻烦,但是我还不够努力。

所以最后,除了上面的第一个问题,我想问另一个问题:

如果我想创建一个项目管理工具(这是一个相当大的项目),考虑到开发时间,生成的应用程序的速度和最终产品的健壮性,你应该推荐以下哪一个:

  • Symfony
  • CakePHP
  • Zend框架

我还应该提到,我不知道这些框架中的任何一个,并且我想(至少)学习它们中的一个。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-05-28 21:05:32

基准测试的问题在于,它们通常不适用于现实世界。编写一个真正的应用程序,你会发现所有的框架在速度上都在一个数量级之内。而且它们都比不使用框架(并且知道如何编程)要慢。

但是,您需要考虑的是权衡。框架牺牲了一些性能来显著减少开发时间。对您来说,原始的性能和相当快的开发时间哪个更重要?Facebook不会为他们的网站使用RAD框架,但这是因为他们的性能比增加的开发时间更有价值。同样,一个只有一个开发人员的小公司可能会从一个框架中获益更多,而不是相当小的性能影响(我说小,因为对每个页面视图的影响是最小的。对于更高的流量,效果是“累积的”)。

我的建议是,看一看一堆框架。尝试一下(大多数都有一个“博客”教程)。了解它们是如何工作的。选择一个你喜欢的,然后玩一小段时间。学习它的编码风格,以及它喜欢做的事情……最重要的是,了解它是如何工作的。试着了解细节背后的“为什么”。使用框架的能力直接依赖于对其操作方式的理解……除非迫不得已,否则不要使用你不舒服的东西。找到一个“适合”你的,然后坚持下去,直到你流利……

票数 20
EN

Stack Overflow用户

发布于 2010-05-29 00:39:25

我推荐使用cakePHP v1.3,因为它更快,也更容易理解。你会发现与这个框架相关的非常好的帮助(文档和教程)。文档是用编写得很好的。即使你被困在某个地方,你也可以在stackoverflow或cakephp google group上找到解决方案,或者在google上搜索。

我使用过cakephp的两个版本(1.2和1.3),我也尝试过Zend框架(我也尽了最大的努力,但在实现布局时被框架卡住了)。

但在cakephp上花了一年多的时间后,我很自豪地说,它是最好的合作框架。

票数 8
EN

Stack Overflow用户

发布于 2010-06-01 00:38:56

框架通常旨在更好地组织代码、组件的可重用性、可测试性,并概括应用程序的质量和可维护性。这不能成为更多以性能为导向的选择。

我用symfony运行的网站非常快,基准测试接近于原始的静态HTML模板。

与将spagetti代码放入HTML静态页面相比,使用框架(以及Doctrine之类的ORM )会更快地出现性能问题。对我来说,这听起来很正常:更多的处理,更多的验证,模式依赖,更多要解析的代码,等等。

如果你一定要让应用程序更快,它们基本上是有办法的:

  1. 获得更快的硬件,它的成本,但如果这个成本低于程序员和工程师的成本,通常情况下是值得的。
  2. 优化软件,这种方法更大的一步是在多个层次上使用缓存:操作码,数据库查询结果,任何重对象,html渲染(部分和整体)。

有了一个设计良好的MVC应用程序,你可以将性能作为一个独立的问题来管理,使用分析器来查看应用程序的瓶颈,并逐一处理它们(同样,优化也可以在硬件端进行)。

PHP框架的选择不应该基于博客上的各种性能测试,它们不可能是客观的。在我看来,所有主要的MVC框架都可以用来构建高性能的网站,这都是优化的问题。

如果你和你的团队更了解Symfony、CakePHP或Zend,那就去试试吧。一旦你的应用程序功能正常,你就可以处理性能优化,任何框架都有解决方案。

如果团队经验太广,每个人都有自己的偏好,那么我个人会建议Symfony,因为它的缓存功能内置在框架中(我不知道其他人)

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2928908

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档