[英]Symfony 2.8: bundle aliases in parameters.yml
对于可分发的 Symfony 包,我希望允许通过parameters.yml
引用资源文件。
我想允许使用包别名,例如@FoobarSomethingBundle/Resources/foo/bar.png
将使用Kernel::locateResource
解析为src/Foobar/SomethingBundle/Resources/foo/bar.png
Kernel::locateResource
。
但显然我不能使用前导@
符号来表示引用以别名开头,并且本身不是文件系统路径。 例如:
### app/config/parameters.yml
some.value : "@FoobarSomethingBundle/Resources/foo/bar.png"
Symfony 会将其解释为服务别名,清除缓存将失败:
[Symfony\Component\DependencyInjection\Exception\InvalidArgumentException]
You cannot dump a container with parameters that contain references to other services (reference to service "foobarsomethingbundle/resources/foo/bar.png" found in "/some.value").
因此我的问题是:是否有关于如何在配置文件中引用包别名的功能或至少是约定,甚至可能即时解决它们?
或者也许有一种方法可以“按字面意思”注入参数,例如,当我将"%some.value%"
作为参数传递给服务时,它不会尝试将其解析为依赖项?
只需使用双 @ 符号即可
### app/config/parameters.yml
some.value : "@@FoobarSomethingBundle/Resources/foo/bar.png"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.