1
對於可分發的Symfony包,我希望允許通過parameters.yml
引用資源文件。Symfony 2.8:在parameters.yml中綁定別名
我想允許使用bundle別名,例如@FoobarSomethingBundle/Resources/foo/bar.png
將使用Kernel::locateResource
解析爲src/Foobar/SomethingBundle/Resources/foo/bar.png
。
但顯然我不能使用前導@
符號來表示引用以別名開頭,而不是文件系統路徑本身。例如:
### 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").
因此我的問題:是否有一個特點,或者至少一個公約如何在配置文件中引用bundle別名,甚至可以即時解決它們?或者也許有一種方法可以「逐字地」注入參數,例如,當我將"%some.value%"
作爲參數傳遞給服務時,它不會嘗試將其解析爲依賴項?
我想這是一個可行的解決方案,雖然它看上去有點難看。我現在會接受它,但仍希望有更好的方法。 ;) – lxg