为你的项目使用 Symfony 框架的 7 个好理由
为你的项目使用 Symfony 框架的 7 个好理由
原文:https://medium.com/hackernoon/7-good-reasons-to-use-symfony-framework-for-your-project-265f96dcf759

Image Source: https://www.seattlesymphony.org/about
灯灭了,剧院安静了一会儿。很快你就听到了音乐的第一声。它开始胆怯。首先,小提琴与你相识,然后,其他乐器逐渐参与到共同的旋律中。管弦乐队演奏了一首优美的交响曲……
发展与演奏音乐有许多共同之处。web 应用程序的每个部分都应该正确地、完整地响应用户的需求。就像每一件乐器都应该完美无缺地表演它的部分,使整个音乐作品听起来和谐一样。
如果你还没有猜到,我们从这样的对比开始,向你介绍名字最好听的技术——Symfony。
今天, 82。世界上所有的网站都是用 PHP 编程语言创建的。
一个 web 应用程序或网站可以用纯 PHP 或它的一个框架来构建。这取决于应用程序的复杂程度、开发的时间框架、编码人员的经验以及其他一些因素。
Symfony 在 Laravel 和 CodeIgniter 之后排名第三。Symfony 框架的很多优点都列在了官网上。但是如果你想要一个外部的观点,我们将分享我们的专家观点。
我们已经在之前的文章中比较了 Symfony 和 Yii development。现在我们想重点谈谈使用 Symfony 框架的利与弊。
那么,你想知道为什么在你的项目中使用 Symfony 吗?

Image source: https://habrahabr.ru/post/281875/
什么是框架,为什么需要框架?
在我们开始讨论 Symfony 之前,让我们先澄清一下什么是框架。
框架是通用的、可重用的程序的集合,这些程序完成特定的任务以促进软件应用程序的开发。
打个比喻,它是一个 web 应用程序或网站开发的骨架、框架或基础。就像你买了一栋空房子,然后在里面放上家具一样,开发人员会拿出一个框架,然后在里面放上功能模块。
使用框架并不是必须的,但是这是一个很好的实践,可以让程序员的生活更简单。使用框架的原因有:
- 发展更快。重用现成的通用组件可以节省两三天的工作。节省下来的时间可以用于开发特定的功能。
- 更容易维护。使用框架需要遵循一定的结构和规则。因此,新的开发人员或团队加入正在进行的项目不会有问题。
- 问题少。框架代码清晰可靠,减少了错误。
- 更安全。框架组件得到及时升级和安全性增强的支持。
对于哪个解决方案更适合您的项目,可能没有很好的答案。你可以阅读大量的研究,但仍然没有清晰的视野。任何工具都有好坏之分,取决于使用它的人。当你做出选择时,让以下想法引导你:
没有优秀的开发人员,一个框架毫无意义。如果你找到一个优秀的专家,只要他/她精通,使用哪个框架并不重要。
选择 SYMFONY 的充分理由
Symfony 于 2005 年发布,已经走过了漫长的道路,赢得了最成熟和最可靠的 PHP 框架的声誉。它是企业 web 应用程序的首选。原因如下:
- 高灵活性
Symfony 是功能最丰富的 PHP 框架之一。让 Symfony 如此出色的两个最突出的技术优势是捆绑包和组件。
包和插件几乎一样。把它看作是实现任何功能(例如,博客、购物车等)的文件包(PHP 文件、样式表、JavaScripts、图像)。束的主要好处是它们是解耦的。您可以为许多应用程序重新配置和重用它们,以降低总体开发成本。
组件是通用特性,减少了例行任务,允许开发人员专注于特定的业务特性。有 30 个有帮助的 Symfony 组件促进了开发过程。您可以独立使用组件,并添加您自己的定制模块,而不会给体系结构带来任何麻烦。Symfony 组件也可以在其他框架中独立使用(例如、Laravel)或普通的 PHP 解决方案中。
包和组件有助于消除架构中的严格依赖性。您拥有的依赖越少,就越容易在不破坏系统其他部分的情况下进行更改。因此,您可以使解决方案适应任何需求和用户场景,以创建高度灵活的应用程序。

图片来源:http://www.programering.com/a/MTN4EjMwATE.html
2。技术背后的公司
Symfony 是少数得到商业支持的框架之一。公司创始人兼赞助商 SensioLabs 积极提升其声誉。他们提供官方教程和认证。在公司网站上,你会找到一份世界各地即将召开的会议的时间表。这显示了他们的意图和信念的规模和严重性。
3。经过验证的可靠性
随着时间的推移,Symfony 已经证明了它的可靠性,而许多其他框架都失败了。许多著名的平台如 phpBB、Drupal、Magento 和 eZ Publish 都使用它的组件。你肯定知道以下公司信任 Symfony 的网站:

4。简单测试
应该测试每一行新代码,以保证应用程序的稳定工作。包的重用、严格依赖性的缺失和创建设计模式的可能性有助于 Symfony 中更好的可维护性和测试。由于使用 PHPUnit 独立库,单元测试非常容易。功能测试也是自动化的,以减少开发人员的例行工作。
5。长期支持
Symfony 是一个稳定且经过良好测试的框架,定期更新。最新版本保持长期支持并与新版本兼容:某些版本长达 3 年。
6。大型社区
框架可生存性的一个重要方面是一个好的社区。官方网站宣称他们的社区有 2000+贡献者(Github 上 1734)。这个数字是其他 PHP 框架社区的数倍。
为什么社区很重要?不仅仅是核心开发人员致力于改进。Symfony 是一个开源软件。这意味着来自世界各地的 PHP 专家和爱好者参与进来,让代码对每个人都更好。在社区里,人们互相合作。他们创建新的组件,尝试解决新出现的问题,或者为他人提供建议。
7。良好的文档记录
不完整或过时的文档是许多技术的问题。与其他 PHP 框架的文档相比,Symfony 文档被认为是最好的文档之一。它写得很清楚,结构良好,提供了示例,并从一个版本更新到另一个版本。您可以找到对每个组件和整个开发过程的解释。
不选择 SYMFONY 的理由
如果我们只提到优点而忽略缺点,那是不公平的。没有什么是完美的!
- 性能
经常抱怨的主要缺点是 Symfony 性能。性能对于高负载实时应用程序非常重要(当许多用户同时与一个应用程序交互时,比如在社交媒体中)。但是 Symfony 从其他技术中积累了最好的东西。提高性能的方法之一是将你的应用程序从 PHP 5.6 迁移到 PHP7,这可以使应用程序的速度提高近两倍。

图片来源:https://www . cloudways . com/blog/PHP-5-6-vs-PHP-7-symfony-benchmarks/
2。发射时间更长
Symfony 的一个常见做法是使用设计模式,即将曾经创建的代码应用于系统的其他部分。这有助于测试和进一步的支持,但会降低开发速度和推迟发布日期。
3。陡峭的学习曲线
Symfony 比 Laravel 和 Yii 等更容易理解的语言需要付出更多的努力。但它是最稳定的框架之一,允许在未来做出许多变化的复杂解决方案。这就是为什么 Symfony 的专家非常有价值。
结论
音乐停止了。观众沉默了一会儿,下一秒钟灯又亮了,观众爆发出热烈的掌声。人们转过身来与其他观众分享他们的印象……
框架旨在简化和加速开发过程。Symfony 是一个强大而健壮的 PHP 框架。
由于基于模块化的架构,使用该平台创建的项目具有高度的可扩展性。使用捆绑包和组件使它成为任何规模和复杂性的网站和应用程序的优秀解决方案。尽管学习它并不容易,但你总能找到好的文档、官方课程和社区支持。
速度和性能不是 Symfony 的强项。但是有经验的程序员可以克服高负载应用程序可能出现的问题。
无论你选择什么框架,不要忘记它只是一个工具。成功与否取决于发展是否得到良好的管理。
对于 PHP 框架有更多的问题吗?给我们写信,地址是Greenice.net,我们会去帮忙的!