新在Symfoob娱乐下载ny 3.4:本地服务绑定
2017年10月13日·发表的哈维尔Eguiluz
警告:这篇文章是关于一个不受支持的Symfony的版本。ob娱乐下载其中一些信息可能是过时了。阅读最近的Symfony文档ob娱乐下载。
提供的
Guilhem Niot
在# 22187。
在Symfony的配置服务应用程序已经在最近的版本中被大大简化。ob娱乐下载多亏了自动装配您可以创建和使用服务而不必实际配置他们中的大多数。
然而,有一个例外:你不能自动装配标量参数(如字符串和数字)。例如,如果三个服务需要的价值kernel.project_dir
参数,你需要这样做:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
服务:_defaults:自动装配:真正的可以使用autoconfigure:真正的公众:假应用\ \ Service1:美元管理扫描:“% kernel.project_dir %”应用程序生成一些\ \ Service2:美元管理扫描:“% kernel.project_dir %”应用\ \ Service3:美元管理扫描:“% kernel.project_dir %”
在Syob娱乐下载mfony 3.4中,为了避免重复,我们介绍本地服务绑定。首先,这个新特性允许定义标量参数,将它们应用于任何服务定义/中创建该文件。这就是为什么在Symfony 3.4之前的例子是这样的:ob娱乐下载
1 2 3 4 5 6 7
服务:_defaults:自动装配:真正的可以使用autoconfigure:真正的公众:假绑定:美元管理扫描:“% kernel.project_dir %”
这是所有!的Service1
,Service2
和Service3
不必显式地定义,因为正在使用自动装配,你已经定义的值美元管理扫描
标量参数创建的所有服务/在这个文件中定义。如果你喜欢XML配置,使用这个符号来绑定参数:
1 2 3 4 5
<服务><违约自动装配=“真正的”可以使用autoconfigure=“真正的”公共=“假”><绑定关键=“$”管理扫描>% kernel.project_dir %< /绑定>< /违约>< /服务>
本地绑定也有用的显式地定义一些服务的服务注入参数。这是必需的,例如当你有多个服务相关的同一类:
1 2 3 4 5 6 7 8 9 10 11
#当在这个文件中定义的服务创建/注入“BarInterface”,#使用“@normal_bar_service”……服务:_defaults:绑定:BarInterface:“@normal_bar_service”#……除了这个特殊的服务,它使用一个不同的服务Foo:绑定:BarInterface:“@special_bar_service”
发表在#生活在边缘
评论
这是一个真正伟大的新的但文件夹包含10类(如控制器或操作),只有1类需要参数?
我在考虑“占位符”注入的方式,如果类定义的名称关键__construct或进他的方法,容器可以注入价值不管什么类要求:思考:
我在考虑“占位符”注入的方式,如果类定义的名称关键__construct或进他的方法,容器可以注入价值不管什么类要求:思考:
Yonel Ceruto
2017年10月13日说在福音23:17
伟大的除了!谢谢。
Yonel Ceruto
2017年10月13日说在23:19
@Javier错过%每个月底%内核。project_dir参数。
弗洛伦特·Destremau
2017年10月14日说在09:55
这是太棒了!
Luděk Benedik
2017年10月14日说在09:58
伟大的功能,非常感谢
托马斯Votruba
2017年10月14日说在18
神奇的小改进:)
Alex Rock is a certified Symfony engineer.
Get certified! Online exams available in all countries.
Register Now