【问题标题】:Why use a framework with PHP? [closed]为什么要使用 PHP 框架? [关闭]
【发布时间】:2010-12-23 13:00:00
【问题描述】:

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

我从版本 3 开始就一直在使用 PHP。我从未使用过任何可用于 PHP 的框架,所以我错过了什么?

【问题讨论】:

  • 虽然框架有一些优势(经典的“不要重新发明轮子”),但也存在两个新问题:

标签: php frameworks


【解决方案1】:

框架将您从低级细节中抽象出来,提高您的工作效率,并保护您免受低级错误(例如防止 SQL 注入攻击)。

一个好的 PHP 框架会迫使您分离关注点并实施经过验证的架构,最终改进您的设计,并使您的代码更易于阅读、维护和单元测试。

这里是some引用on why you should使用框架

【讨论】:

    【解决方案2】:

    一个好的框架会引导您完成架构的最佳实践,并以经过验证且稳定的方式为您提供一些经常需要的功能。所以你不必一直重新发明轮子。

    【讨论】:

      【解决方案3】:

      不要重新发明轮子

      这就是全部。框架的所有主要功能均使用多年经验公认的最佳实践来实现。

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          【解决方案5】:

          为什么要使用框架?

          (我是Symfony 开发人员,因此我将围绕Symfony 进行回答。还有其他具有类似功能的框架,但是,在我看来,没有一个像@987654323 那样全面或写得很好@)。

          引自 Symfony 网站:

          框架简化 应用程序开发自动化 许多用于一个模式 给定的目的。一个框架还添加了 结构到代码,提示 开发者写更好,更多 可读性更强,更易于维护 代码。最终,一个框架 使编程更容易,因为它 将复杂的操作打包成 简单的语句。

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

          Symfony 完全用 PHP 编写 5。它已经过彻底测试 在各种现实世界的项目中,并且是 实际用于高需求 电子商务网站。它是兼容的 大多数可用的数据库 引擎,包括 MySQL、PostgreSQL、 Oracle 和 Microsoft SQL Server。它 在 *nix 和 Windows 平台上运行。 让我们先仔细看看它 功能。

          Symfony 的功能 - 即你错过了什么......

          Web 项目的大部分通用功能在 symfony 中都是自动化的,如下所示:

          • 内置的国际化层允许数据和界面翻译,以及内容本地化。
          • 演示文稿使用模板和布局,这些模板和布局可由 HTML 设计人员构建,无需任何框架知识。助手通过将大部分代码封装在简单的函数调用中来减少要编写的演示代码量。
          • 表单支持自动验证和重新填充,这可确保数据库中的数据质量良好并提供更好的用户体验。
          • 输出转义可保护应用免受损坏数据的攻击。
          • 缓存管理功能可减少带宽使用和服务器负载。
          • 身份验证和凭据功能有助于创建受限部分和用户安全管理。
          • 路由和智能 URL 使页面地址成为界面和搜索引擎友好的一部分。
          • 内置的电子邮件和 API 管理功能使网络应用程序超越了经典的浏览器交互。
          • 列表由于自动分页、排序和过滤而更加用户友好。
          • 工厂、插件和 mixins 提供了高水平的可扩展性。
          • Ajax 交互很容易实现,这要归功于封装了跨浏览器兼容的 JavaScript 效果的单行助手。
          • 内置单元和功能测试框架提供了完美的工具来进行测试驱动的开发。
          • 调试面板通过在他正在处理的页面上显示开发人员需要的所有信息来加速调试。
          • 在两台服务器之间自动部署应用程序的命令行界面。
          • 日志记录功能为管理员提供有关应用程序活动的完整详细信息。

          【讨论】:

            【解决方案6】:

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

            使用框架是为了在质量、安全性等方面通过定义的结构和实现在更短的时间内实现更好的目标。

            如果您没有使用已经制作好的框架,那么您正在制作自己的但仍然是一个框架。

            【讨论】:

            • -1 没有框架 = 没有大型或灵活的项目?真的吗?
            • @Sharky,我解释说,该框架强制使用模式等。如果您没有使用已经制作好的框架,那么您正在制作自己的但仍然是一个框架。
            • 我阅读您的答案的方式我理解您必须使用 现有 框架来构建一个大项目,因此我不赞成。在您发表评论后,我同意您的看法。 (我的第一条评论也说得不好,应该是“-1 no existing framework = no big....”)否决票已撤回(该死的它不会让我撤回您需要编辑答案的否决票-也许“使用/创建”)是的,对于大型项目,您最终将自己构建一个框架
            • @Sharky,没什么大不了的。我的回答模棱两可:)
            【解决方案7】:

            我猜框架旨在加速 Web 服务和管理站点的开发。我使用后端供应商 Yii 扩展程序,它确实帮助我节省了第一阶段的时间。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2017-01-22
              • 2012-01-11
              • 1970-01-01
              • 2011-04-18
              • 1970-01-01
              • 2011-06-01
              • 2011-01-16
              相关资源
              最近更新 更多