何时使用PHP或任何其他语言的框架?

时间:2011-03-23 01:39:06

标签: php zend-framework frameworks symfony1

我们什么时候需要在PHP中使用框架。我听说过zend框架和symfony。我已经阅读过它们,但仍然不明白我们在软件开发中使用框架的确切原因。

4 个答案:

答案 0 :(得分:10)

框架通常为您提供您必须使用的锅炉板代码,例如:会话管理,模板,数据库访问等。

在正确的软件工程方面,使用这些框架倾向于促进使用MVC(Model, View, Controller).等模式进行适当的设计。通过使用此模式,您可以增加代码的可重用性,separation of concern等。

通过利用这些框架为您提供的数据库访问,您可以编写可与数据库交互的高效模型,同时提高代码的可重用性。数据库需要考虑的另一件事是安全性,例如SQL注入。现在大多数框架都会自动保护您免受这些类型的攻击。如果您要编写自己的代码(没有框架),最终可能会为sql注入留下某种查询范围。

对于控制器,这些框架倾向于提供某种URL映射。一个例子可能是domain.com/posts/edit/5。然后框架将解析这个url,并调用控制器“posts”,方法“edit”,并传入id 5.如你所见,如果你没有使用框架,你必须写下所有这些自己编码,这会增加编码的时间和更多的错误机会。

对于视图,通常会使用模板系统来帮助减少您编写的html,css,javascript等的数量。不仅如此,它们还为您的观点提供结构。换句话说,它们可以帮助您将视图放在具有逻辑意义的目录/位置(在可重用性,易用性等方面)。

<强>要点:

由于所有这些功能,您可以看到这不仅可以减少系统中的错误/错误数量,还可以减少开发时间。

当然,一切都有缺点,这也不例外。主要问题是学习这些新框架的学习曲线。通常,框架提供了如此多的功能,您必须学习所有这些新功能才能启动和运行。

一些流行的PHP框架:

CodeIgniter

CakePHP

Zend Framework

Symfony

使用入门指南:

CodeIgniter

CakePHP

Zend Framework

Symfony

就以前从未使用过框架而且想要开始时,我强烈建议CodeIgniter。学习曲线并不像其他曲线那么高,但提供足够的样板代码和功能,它应该让你开始运行。

如果您想进行自己的研究(您应该这样做!),这里是所有流行的PHP框架的比较表:

http://en.wikipedia.org/wiki/Comparison_of_web_application_frameworks#PHP_2

答案 1 :(得分:2)

框架通常用于加速项目的开发。想象一下,在基本的php函数之上,有一堆额外的新函数来帮助你处理登录,页面生成,数据库管理等事情。 基本上框架是为了节省时间,并在每次创建新网站时停止重新发明轮子......

答案 2 :(得分:1)

我使用CodeIgniter构建了一些网站和网络应用程序。

主要优点是您可以在一个一致的界面和一个包中获得许多预构建的组件,如数据库抽象,会话管理,电子邮件发送工具等,因此您不必花时间寻找这些可能会或可能不会很好地协同工作的组件。

每个框架都有不同的感觉,学习曲线,限制,你需要尝试它们并感受它。

许多年前,我使用Macromedia的Dreamweaver和第三方扩展来构建我的Web应用程序。从那时起,Dreamweaver归Adobe所有,而第三方扩展已不在市场上,因此我的遗留代码没有支持。对我来说,围绕我的市场力量混乱让我有动力寻找一个“桌面独立”的框架。

摘要:作为Web开发人员,框架的主要优点是易于使用,可重用的组件以及对过时率的更好控制。

答案 3 :(得分:0)

另一个未提出的观点(我认为)是,无论框架如何,但假设它制作精良,成熟且具有社区,它具有强加于开发人员的结构,无论是MVC还是REST,未来的开发人员可以在扩展或维护代码库时快速掌握。

所以类和对象的命名约定&amp;结构,文件和目录的结构,第三方代码的位置,模板系统,本地化/国际化等在一个精心设计(和成熟)的框架中将得到很好的定义,并可通过第三方或社区维护的文档访问。 / p>