易于使用/学习PHP框架?

时间:2010-12-29 03:01:38

标签: cakephp frameworks symfony1 php

我需要构建一个php应用程序,我正在考虑使用一个框架(之前从未使用过)。我一直在浏览一些,但大多数看起来有点复杂,我真的很喜欢我看到的Symfony,但看起来我将花费一个月,直到我真正了解如何使用它,并在一个月内我可以在没有框架的情况下编写我想到的应用程序5次。但我想用一个来“标准化”我的代码并防止错误。

所以我想知道是否有人可以与我分享您认为哪些php框架更容易学习如何使用。

我的应用程序将使用mysql,它将有一些“搜索引擎”来搜索将使用一些“刮刀脚本”填充在数据库上的数据(我也想使用框架进行编码)。 / p>

9 个答案:

答案 0 :(得分:6)

在StackOverflow上有很多问题回答这个问题,我最近刚刚在你的位置上研究许多不同的框架,因为我也希望标准化我的代码。

我最终选择了Codeigniter,因为我想要一些具有良好文档的东西,而且非常轻(更轻= =更容易理解IMO),以及一些不太严格的东西。在Codeigniter中如果你真的想要,你可以只编写常规PHP代码,它可以让你这样做。我喜欢这个选项,因为如果我真的被某些东西困住了,我只是按照我知道的方式在原始PHP中编写代码。我只使用Codeigniter几周,但学习曲线并不太难,这是我用过的第一个框架。

答案 1 :(得分:5)

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

如果您想要轻松入门,可能需要研究最小框架:

但实际上,如果您需要良好的文档,那么十几个是可取的。 Symfony和CakePHP很复杂,CodeIgniter和较新的Kohana前叉非常友好。虽然还有更多可供选择。选择一个不错的API,也许可以找出解释MVCMVP之间区别的API。还有一个冗长的列表:http://matrix.include-once.org/framework/

答案 2 :(得分:3)

我的第一选择是cakePHP。易于学习,great documentationapi和一些好书:

答案 3 :(得分:3)

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

答案 4 :(得分:2)

两年前我才穿上你的鞋子。我个人选择使用Zend Framework。重要的是要了解ZF是由维护和改进PHP本身的人建立的!只是这样可以提高它的可信度。

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

  1. 社区的大小和质量 - 作为最广泛采用的PHP框架之一,Zend Framework(又名ZF)拥有最大的PHP框架社区;因此,您将遇到的大多数问题都已经得到解答。有些框架只有少数开发人员支持,如果他们碰巧退出工作,你就会遇到最新版本的框架。 ZF不太可能发生这种情况。

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

  3. 投资 - 当然,您必须投入一些时间来学习它是如何运作的,但在软件工程领域,一切都是如此。你必须事先了解[OOP] [3]和[MVC] [4]。许多人不明白使用框架来开发类似程序的代码(而不是OOP)会破坏使用MVC / OOP框架的目的!因此,掌握和掌握这些概念非常重要,这样才能开发出最好的代码。用我最喜欢的代码来表示 a)有效的代码 b)易于理解和维护的代码。

  4. 这项投资非常值得,因为它将大幅增加 a)发展速度 b)调试和维护的速度。

    此外,利用您在编程生涯中的这一时刻,还可以使用以下方法来遵循其他常见的最佳实践(如果您还没有这样做): a)单元测试 - 非常容易在ZF中集成。查看[测试驱动开发] [5]。 b)IDE - VIM,[Netbeans] [6]等 c)[设计模式] [7] d)源控制 - [Mercurial] [8],Git,SVN等 e)最后,通过[关注PHP世界的内容] [9]来保持自己的循环。

    你将在不久的将来感谢自己!我知道我做了。

答案 5 :(得分:2)

由于没有人在这里投票支持Symfony,我会这就是为什么。有两种类型的框架,实际上是整个范围,但在PHP / MVC领域,我们在这个线程中有Glue和Full Stack框架。

Zend和CodeIgniter是Glue,Symfony和Cake是FullStack。

胶水是您可以选择可以使用哪些组件以及可以使用多少“标准”代码的胶水。这些往往会有一个更温和的学习曲线,因为你可以选择你喜欢的位帮助,并用你知道的代码填补更难的位。

FullStack意味着您需要使用该批次,因此学习曲线可能非常陡峭。此外,对于FullStack,可能会倾向于反对实现某些内容的方式,而不仅仅是接受并随之流动。

来自写作一切我自己的背景我最初偏爱胶水,但现在已经使用Symfony 1.4和2以及Sinatra和Padrino迁移到FullStack。全栈所提供的额外速度和力量不是我想放弃的。

CI的一个缺点是它是为php4兼容性而构建的,因此当你推动框架时,它会以多种结构方式受到影响,Kohana是一个解决这个问题的分支。而且我不喜欢Zend,因为有很多方法可以做同样的事情,经过一段时间后,框架似乎几乎无关紧要(抱歉个人咆哮)

在一天结束时使用框架是好的,因为它增加了一个结构,可以很好地帮助学习,选择的是你感觉舒适且富有成效的人。

答案 6 :(得分:1)

有许多框架和几个非常酷的框架。 在尝试了这么多之后,我认为在找到最适合您的需求之前,不应该开始使用它们。 选择一个之后你可以找到任何其他的,所以在选择正确之前不要快速行动。 在使用框架创建应用程序之前,您应该进行练习。 对我来说,我开始使用CodeIgniter创建一个应用程序并在中间留下第二个应用程序,然后传递给Kohana并根据需要启动第二个应用程序。

答案 7 :(得分:0)

CodeIgniter是我喜欢的

答案 8 :(得分:0)

框架必须很少学习,易于扩展。我正在为我的所有项目使用http://sourceforge.net/projects/naanalframework/。没有安装。只需要在应用程序的index.php中指向框架naanal.php并运行它。该框架将指导您做什么。对于初学者来说,这个框架对于开发PHP应用程序非常有用。示例应用程序也可在http://sourceforge.net/projects/naanalframework/files/sample%20applications/wordpress_plugin_builder.zip/download

获得