新在Symfoob娱乐下载ny 5.3:服务自动配置和属性
警告:这篇文章是关于一个不受支持的Symfony的版本。ob娱乐下载其中一些信息可能是过时了。阅读最近的Symfony文档ob娱乐下载。
服务自动配置使用属性
提供的
尼古拉斯Grekas
在# 39804。
服务自动配置允许自动应用某些配置您的服务,基于服务的类。这是有用的,例如某些服务标签应用于类,实现一些接口(例如,当您创建一个类实现树枝\ \ AbstractExtension延伸
,Sob娱乐下载ymfony应用twig.extension
标签,所以你可以使用它没有配置)。
PHP的属性是最好的一个新特性介绍了PHP 8。他们允许添加机器可读的代码的元数据。这就是为什么在Symfonyob娱乐下载 5.3我们都允许相结合使用PHP autoconfigure服务属性。
在早期Symfony的版ob娱乐下载本中,您可以添加以下您的内核或依赖注入扩展:
1 2
美元容器- >registerForAutoconfiguration (SomeInterface::类)- >addTag (“app.some_tag”);
在Syob娱乐下载mfony 5.3如果你喜欢你可以删除这个配置和使用相反的#(可以使用Autoconfigure)
属性PHP接口:
1 2 3 4 5 6 7 8 9 10
# src / SomeNamespace / SomeInterface.php名称空间应用程序\SomeNamespace;使用ob娱乐下载\组件\DependencyInjection\属性\可以使用Autoconfigure;#(可以使用Autoconfigure(标签:[' app.some_tag '])]接口SomeInterface{/ /……}
除了标签
,你可以可以使用autoconfigure其他服务属性,比如方法调用,服务配置器,服务是否公共/共享/懒惰,等等。
Autoconfigurable属性
Symfony 5.3中引入一个不同但相关的特性允许您使用PHP属性可以使用autoconfob娱乐下载igure类而不是接口的实例。例如,在之前的Symfony应用程序配置控制器必须ob娱乐下载包括以下:
1 2 3 4 5
#配置/ services.yaml应用程序控制器\ \:资源:“. . / src /控制器/”标签:[“controller.service_arguments”]#……
这是必要的应用controller.service_arguments
标记的所有服务类存储在哪里src /控制器/
目录的应用程序(这个标签允许自动装配参数的控制器方法,不仅它的构造函数)。在Syob娱乐下载mfony 5.3如果你喜欢你可以删除配置和应用而不是以下属性的所有控制器需要特点:
1 2 3 4 5 6 7 8
/ / src /控制器/ MyController.php使用ob娱乐下载\组件\HttpKernel\属性\AsController;# (AsController)类MyController{/ /……}
这些属性名称遵循的模式#(为…)
。ob娱乐下载Symfony 5.3提供了# (AsCommand)
定义一个PHP类Symfony控制台命令,ob娱乐下载# (AsEventListener)
定义一个PHP类Symfony事件监听器,等。注意,你ob娱乐下载不需要添加这些属性,当升级到5.3 Symfony。他们是一个可选的方法实现,当使用相同可以使用autoconfigure:真
在配置/ services.yaml
在你当前的应用程序。
评论
评论都关门了。
以确保评论保持相关,他们关闭了旧的帖子。
Lyubomir Grozdanov is a certified Symfony engineer.
Get certified! Online exams available in all countries.
Register Now