PHP框架:帮助我理解常见语句

时间:2011-12-20 12:49:04

标签: codeigniter frameworks symfony

我一直在阅读几个PHP框架,并将我的候选人减少到CodeIgniter和Symfony(我知道还有更多)。非常倾向于CodeIgniter,但尚未100%决定。

我不是在寻找一般的“CodeIgniter vs Symfony”讨论。

比较中有一件事情不断出现:人们说Symfony是针对“高级”编码员和“更大”的网站; CodeIgniter适用于“初学者”编码器和“较小”站点。但我还没有看到任何技术证据。我所看到的关于CodeIgniter的一切感觉都是正确的。

任何人都可以从结构上和技术上解释人们将这些陈述作为基础吗?

我想尽我所能。一旦我做出决定,我想把注意力集中在一个框架上。

谢谢, 马修

3 个答案:

答案 0 :(得分:4)

CodeIgniter和Symfony(版本1和版本2)之间最大的技术差异是Symfony更容易扩展。 Symfony2尤其如此;您可以根据自定义代码或其他库中的代码替换框架的整个部分。您甚至可以从Symfony2中获取任意数量的核心组件,并在其上构建您自己的框架。但是,重要的是要注意,因为Symfony是如此“先进”,它具有更高的学习曲线。

以下是我的看法:CodeIgniter很棒,当你有一个小(ish)项目属于CodeIgniter要解决的问题类别时。但是当你想用你的方式做某事时,而不是CodeIgniter的方式,你将不得不与框架作斗争,这永远不会有趣。

另一方面,如果您正在开发Symfony2项目并希望按照自己的方式行事,那么您可以。它不一定很快,但它是可能的。对我来说,这是最重要的事情 - 你需要能够让框架做你想做的事。

如果你有时间,请阅读Symfony docscookbook - 它们应该让你了解Symfony的功能以及如何定制和扩展它。

  

我所看到的关于CodeIgniter的一切感觉都是正确的。

然后使用CodeIgniter。最重要的是你对框架/工具集感到满意。如果您完成一个项目并发现它缺少功能,您可以随时查看其他框架。

答案 1 :(得分:-1)

我建议在没有框架的情况下开始。如果你已经编程了一段时间并且对MVC这样的概念感到满意,以及为什么你可以在这个模式中实现你的代码,那么框架开始变得更有意义。

框架适用于有许多程序员的大型项目,并且您需要一种构建应用程序层的一致方法,如MVC。该框架可能会为对象管理提供一些机制,并为您构建应用程序事件(控制器)以及将视图逻辑与模型逻辑分离。

我的PHP应用程序规模较小,因此我没有使用任何框架。当我以前在Coldfusion中编码时,在较大的应用程序上,我使用了MachII,Model-glue,Fusebox和ColdBox。每个人都擅长某些东西,每个人都提升了一致性,但每个人都有很多开销,而且经常感觉它们在路上。我看到一些开发人员遇到了,因为的框架。 我没有开始使用任何CF框架,直到我没有一个构建较小的应用程序。

如果您更喜欢CodeIgniter,无论出于何种原因,请使用它。

答案 2 :(得分:-1)

CodeIgniter,因为温和的学习曲线和出色的文档。如果您觉得自己已经超出了CI,那么就可以给其他框架了,你可能永远不会这样做。