为什么使用PHP框架?

我很好奇,在PHP中使用框架有哪些优点(和缺点)?

自从版本3以来,我一直在使用PHP。我从来没有使用PHP的任何框架,所以我错过了什么?

框架从低层次的细节中抽象出来,使你更有效率,并且保护你免受低级错误(比如防止SQL注入攻击)。

一个好的PHP框架迫使你分离你的关注,并实现经过validation的架构,最终改进你的devise,并使你的代码更容易阅读和维护和unit testing。

这里有一些 关于为什么你应该使用框架的参考

为什么使用框架?

(我是一个Symfony开发人员,所以我会以一种围绕Symfony的方式来回答,还有其他框架也有类似的function,但是我认为没有一个像Symfony那么全面或者很好的编写)。

从Symfony网站引用:

框架通过自动化为特定目的使用的许多模式来简化应用程序开发。 框架还增加了代码结构 ,促使开发人员编写更好,更易读,更易维护的代码 。 最终, 一个框架使得编程更容易 ,因为它将复杂的操作打包成简单的语句。

Symfony是一个完整的框架,旨在通过几个关键特性来优化Web应用程序的开发 。 对于初学者来说,它将Web应用程序的业务规则,服务器逻辑和表示视图分开 。 它包含许多工具和类,旨在缩短复杂的Web应用程序的开发时间。 此外,它还自动执行常见任务,以便开发人员可以完全专注于应用程序的具体情况。 这些优势的最终结果意味着每次构build新的Web应用程序时都不需要重新发明轮子!

Symfony 完全用PHP 5编写的 。 它已经在各种现实世界的项目中得到了彻底的testing ,实际上正在用于高需求的电子商务网站。 它与大多数可用的数据库引擎兼容,包括MySQL,PostgreSQL,Oracle和Microsoft SQL Server。 它运行在* nix和Windows平台上。 我们先来仔细看看它的特点。

Symfony的function – 即你错过了什么…

web项目的大部分常见function都是在symfony中自动完成的,如下所示:

  • 内置的国际化层允许数据和接口翻译,以及内容本地化。
  • 演示文稿使用HTMLdevise人员可以构build的模板和布局 ,而不需要任何框架的知识。 Helpers通过在简单函数调用中封装大部分代码来减less要写入的表示代码的数量。
  • 表单支持自动validation和重新填充,这确保了数据库中数据的高质量和更好的用户体验。
  • 输出转义通过损坏的数据保护应用程序免受攻击。
  • cachingpipe理function可以减less带宽使用量和服务器负载。
  • 身份validation和凭证function便于创build受限制的部分和用户安全pipe理。
  • 路由和智能URL使页面地址成为界面和search引擎友好的一部分。
  • 内置的电子邮件和APIpipe理function允许Web应用程序超越传统的浏览器交互。
  • 由于自动分页,sorting和过滤, 列表更加用户友好。
  • 工厂,插件和mixin提供了高度的可扩展性。
  • Ajax交互很容易实现,这要归功于包含跨浏览器兼容的JavaScript效果的单行助手。
  • 内置的单元和functiontesting框架为testing驱动开发提供了完美的工具。
  • debugging面板通过显示开发人员在他正在处理的页面上需要的所有信息来加速debugging。
  • 用于在两台服务器之间自动执行应用程序部署的命令行界面。
  • 日志loggingfunction为pipe理员提供了关于应用程序活动的全部细节

不要重新发明轮子

这就是所有关于。 一个框架的所有主要function都是通过多年的经验得到认可的最佳实践来实现的。

也许因为你可以在第一种情况下使用C ++而不是PHP。

使用框架是为了在更短的时间内使用定义好的结构和实现来实现更好的质量,安全等目标。

如果你没有使用已经build立的框架,那么你正在做自己的,但仍然是一个框架。

一个发展的速度。 它也消除了手动编码的许多负担(是的,这意味着不要重新发明轮子)。

我猜框架的devise是为了加速Web服务和pipe理网站的开发。 我使用的是后台Yii扩展,这真的帮助我节省了第一阶段的时间。

一个好的框架将指导您完成架构的最佳实践,并以经过validation的稳定方式为您提供经常需要的function。 所以你不必一直重新发明轮子。