易于使用/学习的PHP框架?

5
我需要构建一个PHP应用程序,考虑使用框架(以前没有使用过)。我已经浏览了一些,但大多数似乎有点复杂,我真的很喜欢Symfony的外观,但看起来我需要花费一个月的时间才能真正理解如何使用它,而在一个月内,如果不使用框架,我可以编写出我想要的应用程序5次。但我想使用一个框架来“规范化”我的代码并防止错误。
所以我想知道是否有人可以与我分享哪些PHP框架更容易学习和使用。
我的应用程序将使用MySQL,并且将具有某种“搜索引擎”来搜索将使用一些“爬虫脚本”填充到数据库中的数据(我也希望使用框架编写这些脚本)。

我不想知道为什么有人会选择一个框架,我只是给出了“易学”的原因。 - Meredith
9个回答

6
在StackOverflow上有很多回答这个问题的帖子,我最近也和你一样在研究很多不同的框架,因为我想标准化我的代码。最终,我选择了Codeigniter,因为它有良好的文档,非常轻量级(轻量级==易于理解,在我看来),而且不太严格。在Codeigniter中,如果您真的想这样做,您可以编写常规的PHP代码,它允许您这样做。我喜欢这个选项,因为如果我真的卡住了,我只需按照我知道的方式用原始的PHP代码编写即可。我只使用了几周的Codeigniter,但学习曲线并不太难,这是我使用的第一个框架。

从我所阅读的内容来看,Codeigniter似乎是一个很好的php框架入门选择,我想我会尝试一下,谢谢。 - Meredith
5
CodeIgniter 是一个很好的入门框架,但不要忘记 Symfony,因为当你变得更加高级时,它会变得更加“合乎逻辑”。 - Darren
是的,Symfony看起来是我迄今为止见过的最好的框架,但它看起来非常复杂,而我想尽快完成这个应用程序。当我有空闲时间时,我一定会开始尝试使用Symfony。 - Meredith
我也同意Darren的看法。我的计划是通过使用CodeIgniter来熟悉框架的“感觉”。一旦我对它的工作原理有了牢固的掌握,我就可以转向更高级和强大的框架,如Symfony或Zend。 - justinl

5

阅读之前的讨论,并注意易用性建议:

如果你想要一个容易上手的框架,你可以考虑一些最小化的框架:

但是,如果你想要良好的文档,请选择大型框架。Symfony和CakePHP比较复杂,CodeIgniter和较新的Kohana分支适合初学者使用。当然还有许多其他选择。选择一个好的API,并可能寻找一个解释MVCMVP之间区别的框架。此外,这里有一个冗长的列表:http://matrix.include-once.org/framework/


3

CakePHP是一种学习曲线较小的最佳解决方案。


3

蛋糕的下一个迭代版本,锂,看起来也非常棒。 - PurplePilot

2
我两年前曾经和你一样。我个人选择使用Zend Framework。重要的是要理解,ZF是由维护和改进PHP本身的同一团队构建的!这使它更加可信。

选择框架时,应考虑以下因素:

  1. 社区的规模和质量 - 作为最广泛采用的PHP框架之一,Zend Framework(又称ZF)拥有最大的PHP框架社区;因此,你遇到的大多数问题都已经得到了解决。还有一些框架只有几个开发人员支持,如果他们停止开发,你就只能使用该框架的最新版本。这在ZF中不太可能发生。

  2. 文档和初学者友好 - ZF文档非常好,充满了示例和初学者友好的内容。还有大量的教程和快速入门指南。启动一个新的ZF应用程序非常容易。

  3. 投资 - 当然,你需要花时间学习它的工作原理,但在软件工程领域,所有的东西都是如此。你必须事先了解面向对象编程(OOP)和MVC。许多人不明白使用一个框架来开发类似过程式代码(而不是OOP)是违背使用MVC / OOP框架的目的!因此,掌握这些概念非常重要,以便开发出最佳代码。通过最佳代码,我指的是 a) 能正常工作的代码 b) 易于理解和维护的快速代码。

这项投资非常值得,因为它将极大地增加: a) 开发速度 b) 调试和维护速度。
此外,在您的编程职业生涯中,利用这个时刻也要遵循其他常见的最佳实践(如果您还没有这样做),包括使用: a)单元测试 - 在ZF中非常容易集成。研究一下[测试驱动开发][5]。 b)一个IDE - VIM,[Netbeans][6]等 c)[设计模式][7] d)源代码控制 - [Mercurial][8],Git,SVN等 e)最后,通过[关注PHP世界上正在发生的事情][9]来保持自己的状态。
你会在不久的将来感谢自己的!我知道我是这样做的。

2
由于在这里没有人投票支持Symfony,我来支持一下并解释一下原因。框架分为两种类型,实际上有很多种,但在PHP/MVC领域中(也就是我们在本文中所讨论的领域),有粘合框架和全栈框架之分。
Zend和CodeIgniter属于粘合框架,而Symfony和Cake则属于全栈框架。
粘合框架是指你可以自由选择要使用哪些组件以及使用多少“标准”代码。这些框架的学习曲线较为平缓,因为你可以选择喜欢的组件帮助你完成工作,并使用你熟悉的代码填补那些比较困难的部分。
全栈框架意味着你需要使用其中的所有组件,因此学习曲线可能会比较陡峭。此外,对于全栈框架,有时候会倾向于反对某些实现方式,而不是接受并顺其自然。
起初,我来自一个完全自己编写代码的背景,我更喜欢粘合框架,但现在我已经转向使用全栈框架,包括Symfony 1.4和2以及Sinatra和Padrino。全栈框架提供的额外速度和功能是我不想放弃的。
CodeIgniter的一个缺点是它是为php4兼容性而构建的,因此在推动框架时会遇到一些结构上的问题,Kohana是一个解决这个问题的分支。而我不喜欢Zend是因为有太多做同样事情的方法,久而久之,框架似乎几乎变得无关紧要了(抱歉,这是我的个人抱怨)。
总的来说,使用框架是好的,因为它可以为你的学习提供结构和帮助,选择哪种框架取决于你自己感觉舒适并且能够提高生产力。

1

有许多框架和一些非常酷的框架。 在尝试了这么多之后,我认为在找到最适合您需求的框架之前,您不应该开始使用任何一个。 在选择一个之后,您可能会发现其他的,因此在选择正确的框架之前不要急于行动。 在使用框架创建应用程序之前,您应该进行练习。 对于我来说,我从CodeIgniter开始创建了一个应用程序,并将第二个应用程序留在了中间,然后转向Kohana,并根据需要启动了第二个应用程序。


0

0

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