symfony - 如何访问 Symfony2 中的嵌套参数值?

标签 symfony configuration parameters yaml

我在 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/

相关文章:

php - 如何为 symfony Controller 编写 php 单元测试用例

configuration - Android Studio "Import class"操作添加完全限定名称

用 C 创建一个简单的配置文件和解析器

具有多个选择器的 jQuery 自定义函数

mysql - 导入数据库 phpMyAdmin - 错误格式参数不正确

function - Haskell 中的抽象函数

php - 使用 DataTransformer 将实体中的 Symfony2 base64 以表单形式(和反向)文件

php - Symfony 主义延迟加载属性

Symfony2,如何将数组作为参数传递给 Controller ​​操作?

linux - perl 中的文件处理(.conf 文件)