【发布时间】:2011-01-05 02:02:50
【问题描述】:
您会向了解 PHP 基础知识的人推荐其中哪个框架? 有什么优点和缺点?
【问题讨论】:
标签: php zend-framework symfony1 kohana
您会向了解 PHP 基础知识的人推荐其中哪个框架? 有什么优点和缺点?
【问题讨论】:
标签: php zend-framework symfony1 kohana
我不会向只知道基础知识的人推荐任何框架。相反,我建议首先牢牢掌握 OOP 和最常见的设计模式,因为这就是您将在这些框架中找到的内容。了解各种可用的 PHP 库和扩展也没有什么坏处。
【讨论】:
我认为框架对于初学者来说是一把双刃剑。在许多情况下,您可能可以在更短的时间内完成更多工作,但在其他情况下(不是少数),您会犯错误,因为您不了解框架代码的复杂性。如果你想使用它,我认为你应该能够阅读一个框架并理解它的架构。
也就是说,真正的破解似乎使用Symfony。它可能成为或可能已经是最好的、最通用的、最强大的框架。但它肯定需要对编程原理以及一般的网络技术和服务器技术有很多了解。
Zend 框架 也非常强大且容易上手。它绝对可以比 Kohana 为您做更多的事情。
如果你想要一个轻量级的框架,Kohana 也是一个不错的选择。过去几个月它取得了长足的进步,我认为它正在迅速成为新的轻量级宠儿。
所以总而言之,你提到的三个框架是目前 PHP 框架市场上的三个顶级框架,你不会犯任何错误。
【讨论】:
更新:现在 8 年后,Kohana 不再维护。 Laravel 是我目前推荐的一个相对简单但非常强大的 PHP 框架。
尽管 ZF 已经很成熟并且有据可查,但我还是建议使用 Kohana,因为它的复杂性要低得多。只需从github 下载或克隆示例应用程序,就可以很容易地开始修改它。
Symphony 不适合初学者。我不同意框架一般不适合初学者。从一个空白文件开始,没有框架,所有的架构设计都留给了不知道自己在做什么的人,而从像 Kohana 这样的轻量级框架开始,为您提供了一个组织良好的平台和文档来开始运行。在没有任何示例指导的情况下学习 OO 是非常困难的,因为您还不知道好的 OO 设计是什么样的。
下载/克隆 Kohana 示例应用程序后,点击 docs,您将立即编写精心设计的 OO 代码。
【讨论】:
对于初学者并使用您提供的三个示例,出于这些原因,我会说从 Kohana(或 Code Igniter)开始。
如果您出于以下原因计划或努力从事更大的项目,我会继续使用 Zend 框架:
我没有使用过 symfony,但据我所知,一旦你更精通 PHP(更好的 ORM、更好的脚手架等),它也有一些有用的特性。简介:Kohana 是一个好的开始,但如果您打算在小型网站之外进入 PHP,我建议您不要在此停留。
【讨论】:
在你的情况下,我会选择(按此顺序):
因为它们比 Symphony 更容易上手(尤其是初学者)。
【讨论】:
我一直想知道为什么人们说不提供单元测试系统是框架的主要缺点。好吧,测试您的应用程序是您的责任,您应该使用最熟悉的工具。例如,我更喜欢SimpleTest,并且对捆绑并促进使用他们自己的测试系统的框架感到困扰。既然SimpleTest绰绰有余,为什么还要学习另一个单元测试系统?
请注意,提供单元测试系统和单元测试框架是两件完全不同的事情。框架应该进行单元测试,期间。但是对于这个任务,框架的开发者可能会使用他们最喜欢的工具。他们甚至可能推出自己的测试框架(似乎有些人从不学习并不断重新发明轮子)。但是,(恕我直言)框架测试应该与框架本身分开。它甚至不应该包含在框架 tarball 中,而是作为一个单独的包保存,只有框架的开发人员才感兴趣。
只是我的 2c。
【讨论】: