我在 parameters.yml
文件中创建了一个参数:
parameters:
category:
var: test
如何在 config.yml
中访问此参数?例如,我想将此参数作为全局 twig 变量传递给我的所有 twig 文件:
twig:
globals:
my_var: %category.var% # throws ParameterNotFoundException
最佳答案
在我见过的所有 symfony 配置文件中,“参数:”下的条目始终是完全限定的。我不完全理解为什么会这样,但它可能会帮助您在parameters.yml中编写如下条目:
category1.var1: xxx
category1.var2: yyy
category1.var3. zzz
category2.subcategory1.var1: 5
category2.subcategory1.var2: 10
category2.subcategory2.var1: foo
category2.subcategory2.var2: bar
...等等。
编辑
我尝试将问题中的嵌套参数粘贴到我的一个项目中的parameters.local.yml中,并运行一个简单的单元测试来检索该参数以及从容器中检索完全限定的参数,例如
$testUserEmail = $container->getParameter('test.user.email');
$this->assertEquals('dahlia.flower@randomtest.com', $testUserEmail);
$testParam = $container->getParameter('category.var');
$this->assertEquals('test', $testParam);
完全限定的参数没问题,尝试获取嵌套参数会导致 InvalidArgumentException
:必须定义参数 category.var
。我认为参数不能通过嵌套来定义。
关于symfony - 如何访问 Symfony2 中的嵌套参数值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19839157/