PHP框架的五个优缺点

作者 : 慕源网 本文共3587个字,预计阅读时间需要9分钟 发布时间: 2021-09-18 共230人阅读

PHP框架的五个优缺点

从路由 HTTP 请求到访问数据库和呈现用户界面,大多数 Web 应用程序彼此之间有很多共同点。其中许多允许访问者登录,很难想象没有电子邮件发送的 Web 应用程序。

一个软件框架是把这个观察到的使用方式。

通过提取共同特征和应用程序的底层架构,并将它们捆绑到一个可重用的模板和库集合中,框架允许开发人员专注于使他们的项目脱颖而出的原因。

事实上,当您使用之前的项目作为样板而不是从头开始时,您已经在使用一个临时框架。流行的PHP框架,如Laravel,Yii的,或Symfony的放置在设计框架的架构和工具的强烈关注,然后使其可用于其他开发人员在其项目中使用通吃这种方法得出的逻辑结论。

但是使用框架总是最好的方法,还是从头开始只使用普通的 PHP 有时有意义?

为了回答这个问题,在本教程中,我们将了解使用 PHP 框架的五个优点和缺点。

使用 PHP 框架的五个优点

让我们首先看看使用 PHP 框架如何帮助您进行应用程序开发。

   1. 快速发展

在当今基于实验、快速原型设计和尽可能快地将最小可行产品推向世界的初创公司中,开发速度可能决定您的业务成败。

使用 PHP 框架是满足这一要求的一种方式。

一个精心设计的 PHP 框架会从开源社区中选择针对常见问题的最佳实现,并在它们之上构建,为您提供应用程序架构(在大多数情况下,基于模型-视图-控制器模式)来指导你的发展。

这样,您无需花时间规划应用程序的架构和评估各种可用的库,而是从功能齐全的模板开始,然后正确构建特定于您的应用程序的功能。许多 PHP 框架还附带了一个命令行工具,您可以使用它来生成代码并节省更多宝贵的开发时间。

   2. 一个框架让你的应用程序更安全

在加快开发速度的同时,框架还可以让您更加安全:您的工作速度很快,但这不是通过使用快速而肮脏的解决方案来实现的,而是通过使用经过验证的最佳实践和现成的组件来实现的。

现代 PHP 框架中包含的解决方案由使用该框架的多个开发人员持续测试、同行评审和验证。由于这些框架是开源的,因此您可能会在专有代码中忽略的安全问题和其他问题很快就会被注意到并得到修复。

也就是说,重要的是要记住,使用框架并不意味着您可以忘记所有安全性和良好的开发实践。确保您使用该框架的目的是使用它,保持更新,并在诸如参数验证之类的事情中发挥自己的作用——使用框架的工具,这并不是那么困难。

   3. 更容易维护

通过为您的应用程序提供合理的结构并促使您采用软件开发最佳实践和模式,PHP 框架将指导您编写松散耦合且尽可能少重复的代码。换句话说,它易于阅读、测试、维护和进一步开发。

当今几乎所有流行的 PHP 框架都是面向对象的,并且在开发时考虑了自动化测试甚至测试驱动开发。

您仍然必须尽自己的一份力量。但与从头开始相比,一个框架及其文档提醒您概念并推动您使用它们肯定会有所帮助。

使用框架使维护应用程序更容易的另一种方法是通过其共享组件。由于框架库和帮助程序是独立于您的应用程序开发的,因此您可以将应用程序的大部分维护工作交给框架开发人员。

在某种程度上,这就像拥有一个免费的开发团队为您工作!

   4. 更强大的团队合作

作为开发人员,您对自己的类和函数非常熟悉,并且可以轻松使用它们。但是当你引入团队成员时,情况就会发生变化。

如果不了解您的设计决策和完整的文档(让我们面对现实:尤其是在快速开发的世界中,文档通常是事后的想法),他们会发现很难将头放在应用程序的代码上。

使用 PHP 框架将有助于新开发人员更轻松地开始处理项目。他们很可能已经熟悉了框架,并且可以将所有注意力集中在理解应用程序的细节上。即使框架对他们来说是新的,文档、在线教程和熟悉的设计模式也将帮助他们以最少的努力快速上手。

在此期间,您可以继续开发应用程序,而不是教开发人员您的思维方式。

   5. 社区为您服务

最后,使用 PHP 框架的一个显着好处来自于围绕他们的活跃的开发人员和用户社区。

所有主要框架都吸引了开源贡献者,他们除了在框架本身上工作外,还为其他人开发额外的小部件、库和辅助组件以包含在他们的应用程序中。?其他贡献者编写教程和书籍或创建视频来解释他们如何在现实项目中使用框架的来龙去脉。

作为此类开发人员社区的一员,您将成长为一名开发人员,快速学习并将所学应用到您的应用程序开发中。

如果您愿意,您可以以任何让您感到自然和充实的方式回馈和参与开源项目。

使用 PHP 框架的五个缺点

现在我们已经了解了使用 PHP 框架如何帮助您进行开发,让我们来看看它的缺点以及为什么不使用 PHP 框架有时可能是更好的选择。

   1. 执行速度较慢

与运行简单的 PHP 脚本相比,PHP 框架总是以在您的代码被调用之前加载的类和库的形式增加复杂性和开销。在需要快速运行的功能有限的快速脚本和 API 中,差异可能很大。

然而,在大多数 Web 应用程序中,框架的效率影响更多地与您如何使用它而不是框架本身有关。例如,虽然 Active Record 实现是一种访问数据库的便捷方式,但在必须同时处理数据库中的多行的地方使用它是没有意义的。

所以这归结为了解您的应用程序的需求,但也不允许自己依附于使用它的特定方式。有时,即使在使用框架时,回避并在较低的抽象级别编写一些代码也是有意义的。

   2. 特定问题的通用解决方案

PHP 框架的想法是成为大多数开发人员在开发 Web 应用程序时将面临的重复需求的通用解决方案。但是,我们应该在哪里划定要包含在框架中的内容以及要为应用程序(或第三方附加组件)实施的内容?

根据一些开发人员的说法,这是许多框架出错的地方。

PHP 的创建者 Rasmus Lerdorf 曾说过:

“没有人有普遍的问题。每个人都有他们试图解决的非常具体的问题。通用框架虽然可以解决它,但通常会以一种方式解决它,您可以获得许多其他不需要的东西。这最终会根据每个请求完成。”

因此,如果您决定使用一个框架,请务必确保选择一个适合您的应用程序需求的框架。

虽然大多数框架基于延迟加载并且不会包含您的应用程序不使用的框架部分,但增加的复杂性仍然存在,导致在删除框架附带但您不使用的功能时进行不必要的修补不需要。

   3. 框架需要时间来学习和掌握

虽然 PHP 框架会促使您编写好的代码,但并不能保证它。如果您在不了解框架及其背后的设计模式的情况下使用框架,您很可能最终会遇到一个大的、结构化的混乱。

对于已经熟悉这些设计原则的人来说,从其他框架或项目,学习曲线会相对较短。对于经验较少的开发人员,学习将需要更长的时间。更不用说掌握框架了。

所以,如果你赶时间——而且你的项目很小——现在可能不是开始学习新框架的时候。相反,请考虑使用微框架,甚至从头开始并使用一些您熟悉的库。

然后,在您的日程安排允许的情况下,花时间学习一个成熟的 PHP 框架。

   4. 有限的可见性和控制

使用软件框架将您的应用程序开发提升到更高的抽象级别。这是设计使然,通常是一件好事。然而,意识到它也会导致问题是件好事。

虽然框架模板的许多部分都是定制的,但框架的核心和它的库就像一个黑盒子,你使用但没有太多控制权。您可以提出改进建议,但最终由框架的开发人员决定他们是否将包含该更改。

此外,如果您在完全理解 PHP 语言本身之前就开始使用框架,您可能会将框架的特性与语言特性混淆——并且最终会使用框架的功能,即使纯 PHP 是更好的选择。

   5. 框架引入外部依赖

框架始终是您的应用程序的外部依赖项——由您和您的团队以外的其他人控制的代码。虽然这通常不是问题,但如果您正在构建的软件是您业务的核心部分,则值得考虑。

问问自己,如果框架的开发被放弃或朝着你不想遵循的方向发展,你会怎么做。

降低这种风险的一个好方法是使用一个可靠的、流行的框架,并拥有活跃的开发人员和用户社区。但即便如此,还是需要考虑一下:使​​用框架的好处是否足以让风险值得承担?

结论

现代 PHP 框架是软件开发人员工具箱中的强大工具:它可以为您节省大量时间和精力,并让您在开发 PHP 应用程序时高枕无忧。请记住,这不应取代首先学习核心 PHP!

然而,上述结论的关键是为工作选择正确的工具。每个项目都是不同的,即使是一个非常适合一个项目的框架也可能不太适合下一个项目。为了简单起见,问问自己一个成熟的框架是否适合该项目,或者使用像Lumen这样的微框架是否可能是更好的解决方案。

从头开始使用原生 PHP 很少是最好的选择,但是在开发非常简单的应用程序(例如没有太多交互性的网站)时,这也是值得考虑的——并且请记住,您始终可以通过使用 Composer 选择您的库来扩展它选择。

选择框架时,请确保您选择的框架得到积极开发和支持,并遵循良好的软件工程实践。通过这种方式,您可以确保底层框架不会悄然死亡,从而使您的应用程序面向未来。

最后,即使您决定不使用一个,熟悉一个或多个现代 PHP 框架也是一个好主意。学习它们是学习和提高软件开发技巧的绝佳方式,可以帮助您在不断发展的 PHP 开发世界中保持领先地位。


慕源网 » PHP框架的五个优缺点

常见问题FAQ

程序仅供学习研究,请勿用于非法用途,不得违反国家法律,否则后果自负,一切法律责任与本站无关。
请仔细阅读以上条款再购买,拍下即代表同意条款并遵守约定,谢谢大家支持理解!

发表评论

开通VIP 享更多特权,建议使用QQ登录