我想知道在哪里可以获得有关symfony2的yaml配置中@somevar
或%somevar%
等特殊语法的更多信息?
例如,使用@
定义对服务的调用,即我们将依赖项传递给服务的方式。另一方面,%somevar%
引用名为somevar
的已定义参数的值。
所以,如果我这样做:
parameters:
custom: "some value"
another: %custom%
然后another
将填充custom
的值,在我的情况下是“某个值”。我的问题是,这些关系记录在哪里了?
我特别需要能够引用数组的元素,例如%somevar[somekey]%
,但该语法不起作用。
提前致谢!
编辑:我发现了这个:Full merge key support.
Full support for references, aliases, and full merge key. Don't repeat yourself by referencing common configuration bits.
在yaml docs中,但没有关于它的更为完整的文档..
答案 0 :(得分:0)
你要搜索的并不是关于Yaml本身,而是关于Dependency Injection容器的Yaml加载器。
如果您搜索有关它的文档,则以下是旧组件(v1)的文档:http://components.symfony-project.org/dependency-injection/trunk/book/05-Service-Description
Symfony2附带了一个新组件(基于相同的原理)。您可以在此处找到官方文档:http://symfony.com/doc/current/book/service_container.html#service-parameters
关于您的问题,您无法访问DI参数的键,您必须手动压平。
你可以使用DI扩展来满足你的需要,例如:https://github.com/symfony/AsseticBundle/blob/master/DependencyInjection/AsseticExtension.php#L54(可能不是最好的例子)。例如,可能不是最好的例子。