新在Symfoob娱乐下载ny 6.1:表达式作为服务工厂
2022年5月10日·发表的哈维尔Eguiluz
提供的
尼古拉斯Grekas
在# 45512。
提供的服务容器DependencyInjection组件允许您配置对象的创建。然而,有时你需要应用工厂设计模式委托对象创建一些特殊的对象称为“工厂”。
在Syob娱乐下载mfony 6.1我们改善服务容器允许你使用表达式作为服务工厂。这可以帮助您在选择工厂等先进的情况下基于一个环境变量的值。
所使用的语法取决于配置格式:
- 在YAML:
工厂:“@ =服务(" foo ") . bar()的
- 在XML:
<工厂表达= "服务(“foo”) . bar ()”/>
- 在PHP中:
- >工厂(expr(“服务(" foo ") . bar ()))
下面的例子显示了如何选择工厂使用基于一个配置参数的值:
1 2 3 4 5 6
#配置/ services.yaml服务:App \梅勒:工厂:“@ =参数(“some_param”) ?服务(“some_service”): arg (0)”参数:- - - - - -“@some_other_service”
的arg ()
函数返回的值(如参数传递给工厂。arg (0)
返回第一个参数,参数(1)
返回第二个参数,等等)。
发表在#生活在边缘
评论
Grzegorz Korba
在2022年6月10日在22
# 1
这看起来太好了,谢谢!
评论都关门了。
以确保评论保持相关,他们关闭了旧的帖子。