CakePHP是否适合大型网络应用程序?

9
我是一名优秀的PHP开发者,希望开发一个大规模的PHP Web应用程序。我正在考虑使用CakePHP框架。
CakePHP适合大规模Web应用程序吗?
我应该开始学习和使用它吗?
CakePHP值得投入时间和金钱吗,还是应该选择核心PHP或其他框架?
我听说如果你遇到问题,很难找到支持。
这是正确的吗?
我也听说过很多好的事情。
期待您的指导。

是的,它非常适合大型应用程序。任何不支持 PHP < 5 的东西都很好。Zend、Symphony、Kohana、Cake 等等。我会远离 CI,因为它仍然支持 PHP 4,这在今天是一件危险的事情(这只是我的主观看法)。 - Richard Knop
CakePHP支持PHP 4。他们将在CakePHP 2.0中停止对其的支持。 - bjudson
@Richard Knop,为什么您不喜欢支持PHP4?Cake有它,而且它并不会对任何事情产生影响。 - Travis Leleu
@Travis Leleu,我只是不喜欢PHP4中旧的“伪”面向对象支持,其中对象并不真正是对象,更像是结构。此外,PHP5中的对象模型要好得多。支持PHP4通常意味着更糟糕的代码库(您甚至无法使用private/protected/public方法和其他重要的OOP功能,也无法使用一些不错的新函数等)。顺便说一句,我不知道Cake是否支持PHP4,我认为CI是目前唯一仍支持PHP4的框架。无论如何,这是我的主观看法,我从未使用过Cake或CI,所以我可能对一切都错了。 - Richard Knop
@Richard 的观点很有道理,我只是好奇。早期我写过一些 PHP,但现在基本上只用 5 版本,所以我甚至不确定我何时在使用“旧”的 PHP 和新的 PHP。 - Travis Leleu
6个回答

6
就支持方面而言,我认为CakePHP相当不错。他们有一个活跃的IRC社区,以及自己的stackoverflow风格的网站。此外,在SO上似乎也有不少熟练的CakePHP用户。
尽管在CakePHP网站上有关数据源、创建行为和其他一些细节的文档有所欠缺。
这一切都取决于你的应用程序,对于正确的工具选择正确的工具。

我们的应用程序是一个约会网站。之前的开发人员在“Has Many And Belongs Many”关系方面遇到了一些麻烦。 - happyhardik
1
不幸的是,仅仅说网站是“这个”并不能神奇地吐出你应该使用什么。与其他开发人员交流,讨论每个选项的优缺点。例如,CakePHP有一个非常强大的ORM,但它遵循非常严格的约定,而像Zend Framework这样的东西则更加模块化和灵活。 - Stoosh
如果开发人员在模型关联方面遇到问题,那么有很多关于HABTM的资源可供参考,可以阅读并开始尝试让代码正常工作。HABTM并不是一个难以理解的概念。 - Stoosh
1
Stoosh非常正确地提到了CakePHP使用的严格约定,这就是为什么开发第一个网站可能会很麻烦。在我看来,如果你要开始使用CakePHP,请确保你有足够的时间进行网站开发阶段。 - nik
1
CakePHP 可能是可用框架中速度较慢的之一,但它确实很稳定,并且有明确的支持(如前所述)。此外,这里有一个链接http://blog.astrumfutura.com/archives/421-PHP-Framework-Benchmarks-Entertaining-But-Ultimately-Useless.html。 - Stoosh
显示剩余2条评论

4

还有CodeIgniter,它具有许多相似的功能,建议您进行比较。

使用这两个框架可以创建一些高度专业和可扩展的网站。与编写纯PHP相比,您正在绝对正确的方向上前进。

使用这些框架,您可以受益于使用经过良好验证的设计模式,例如:模型视图控制器模式,并利用许多辅助类来访问数据库、表单验证和安全性。

我个人使用的是SilverStripe,它是一个带有可选CMS的PHP开发框架,因此您可以立即开始创建基本页面,而且也足够强大,可以相对轻松地创建复杂的定制Web应用程序。

我没有听说过CakePHP支持不好,但这只是我的看法。

无论你最终选择哪个框架,肯定会涉及一点学习曲线。以我的经验来看,当我开始使用框架时,我一开始对我想要做的灵活性感到不满,但是当你开始学习正确的方法并利用那些为你做很多重活的类(表单脚手架、ORM、表单验证、数据库访问、安全等)时,这很快就变成了巨大的生产力提升。

祝好运。


我在谷歌上搜索“使用CakePHP的网站”时发现了这篇文章:http://bakery.cakephp.org/articles/view/how-i-built-a-web-2-0-dating-site-in-66-5-hours。 - hydrogen

4
CakePHP似乎是目前最容易的框架。一旦你搞懂了如何使用Bake命令,它就变得异常简单。我尝试过Yii和Zend,最终选择了CakePHP。用Yii编程很困难,而Zend则太过庞大难以掌控。

2
“对于一个大型网站,我认为您正在寻找最佳选项。”
“当您的网站需要大量定制时,CakePHP非常有用。另一方面,像JoomlaWordPress这样的选项很不错,但对于您所提到的大型网站并不理想。”
“我知道我们大多数人第一次使用CakePHP网站时都会遇到困难,因为在某些情况下我们卡住了很难找到解决方案,但您不必担心,因为我们在Stack Overflow这里可以帮助您。”

谢谢你的好回答。WordPress或Joomla对我来说不是一个选择,因为这将是一个完全定制的应用程序,具有社交网络API集成。因此,它将是手工制作的。 - happyhardik
12
在一个编程网站上将 PHP 框架与 CMS 进行比较让我感到失望。 - strager
@Happyhardick:在CakePHP中集成API不会是问题,我知道Cake可以非常优雅地完成它。 - nik
2
@strager :: 对于你的失望我深感歉意。对于初学者来说,听到许多用 PHP 完成的事情可能会非常令人困惑。 - nik
感谢您对CAKE的精彩回答。 - Bhanu Prakash Pandey

1

是的,CakePHP即使在大型应用程序中也能很好地工作。我使用OpenSocial和CakePHP在LinkedIn.com上部署了一个合作伙伴应用程序,每天都能看到超过1000个新用户。现在已经过去两年多了,该应用程序仍然保持稳定增长,性能仍然非常好。(我们使用2个Apache Web服务器和memcached进行备份)


1

关于 Yii PHP 框架怎么样?它被认为是快速和可靠的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接