Symfony 4 是 PHP 框架中的新霸主
介绍
成分
从
翻译
捆
教义
注释
迁移
服务
记录器
表现
结论
目录
*简介
*组件
*表单
*翻译
* Bundle
* Doctrine
*注解
*迁移
*服务
*记录器
*性能
*结论
介绍
Symfony 是一个全栈 Web 框架,由大量可重复使用的独立 PHP 组件构建而成,可解决常见的 Web 开发问题。
成分
组件是框架的核心,它们是包含许多有用的可重用代码的库,例如
-Form
-Finder
-Filesystem
-Asset
-Mailer
-Routing
-EventDispatcher
-Translation,
让我们以其中的一些为例
从
表单组件是一个非常有用的工具,其背后的基本思想是创建一个代表表单的对象,在该对象中,您可以指定前端{设计、行为......}和后端{字段、实体、表单关系...}中与表单相关的每个细节
翻译
这个组件非常有用,你可以用它来实现应用程序的国际化。你无需重写大量文本,只需创建某种词典即可。这样,你的应用程序就能智能地检测每个请求的时机和语言。
捆
Bundles 是 Symfony 开发人员用来编写可重用代码的好方法。让我们举个例子,您正在创建一个电子商务 Web 应用程序。在这种类型的应用程序中,有很多常见的方面,例如:制造、产品、产品篮、产品类别、客户、优惠券、第三方支付库💰💴💵等等。每次您都需要这个实体 + 一些库的集成。Bundles 为我们提供了最终的解决方案。我们创建一个电子商务 Bundle,每次我们有电子商务时,我们都可以将它与它的实体、存储库、接口一起包含在内,这些将借助 Twig 自动集成到新模板中
教义
Symfony 没有自己的对象映射库。它使用了 Doctrine 库,该库被许多 PHP 框架(如 laravel 和 zend)使用。
注释
注释是将数据描述成 PHP 类的好方法,您可以将每个属性指定为数据库表的列。您还可以向字段添加一些参数,如必需、唯一以及与大小、类型、范围相关的其他约束,甚至可以创建自己的参数。这仅仅是个开始,通过注释,您可以表示实体关系等等!
迁移
迁移与 VCS 非常相似,每次更新数据结构时,您都会创建一个迁移(在 git 语言中我们称之为“提交”),并且您可以使用存储在数据库中的版本进行迁移。这真的很酷😎我经常使用它!!
服务
我们已经讲了很多,但可能只讲了 Symfony 的 5%。那么这个框架如何管理所有这些库📚呢?他如何能够初始化大量的类而不用担心性能呢?通过服务,这可以通过在整个平台中初始化核心函数一次并每次重复使用这个实例来实现。让我们以邮件组件服务为例。
有一个名为 Container 的对象已经包含许多服务。为了使事情更简单,我们假设服务是类库📚 的一些实例。实现服务非常简单,您可以通过控制器或在 services.yaml 中的服务配置中做到这一点。一旦我使用服务在活动会话 30 分钟后自动注销每个用户,我就会在其构造函数中创建一个名为 4 个参数的类,该类提供结束用户会话的功能。然后,我在 services.yaml 文件中添加了类配置及其所有 4 个参数。这样,symfony 就会自动启动该类,并在每次需要时自动使用它。是不是很酷?
记录器
记录器是 symfony 的一个非常酷的部分。它为我们提供了一个很好的工具来检查会话、cockies、路由、sql 请求、性能、响应时间...以及您需要的每一个细节。因此,转到您的配置文件,激活开发模式,然后,您就准备好了界面。
表现
在我们开始使用任何语言或框架之前,我们最关心的问题之一就是性能。PHP 是 Web 开发中最优秀的脚本语言之一,但说实话,如果我们仔细观察的话,它并没有那么出色。
结论
感谢您阅读我的文章。我真心推荐在复杂项目或团队项目中使用 Symfony。一开始可能会很难,但当你理解了它的核心概念后,你会发现它很容易。
文章来源:https://dev.to/gdahboy/symfony-4-is-the-new-boss-in-php-framework-43dg