繁体   English   中英

Symfony 2.8:在 parameters.yml 中捆绑别名

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM