Symfony 2:存储模板和控制器的应用程序配置的方法

时间:2015-11-04 14:56:08

标签: symfony

我是symfony的新手,正在寻找一种方式存储(并阅读)一些信息,我想在控制器和模板中使用它。

基本上我想访问这个示例结构:

project:
    name: "My cool Project"
cdn: "http://www.example.com"
paths: 
    "images": "/images",
    "pdf": "/pdf"
...

我已经尝试将此添加到我的parameters.yml中。但它是否是正确的位置以及如何在模板和控制器中访问它?

在控制器中,我可以这样做:

$this->getParameter("project")

有没有办法直接访问project.name?类似的东西:

$this->getParameter("project.name")

如何在模板中访问它?

2 个答案:

答案 0 :(得分:1)

只需将参数从控制器传递到视图:

在控制器类中:

return [
    'variable' => $this->getContainer()->getParameter('variable');
];

在树枝模板中,打印它:

{{ variable }}

如果要将参数传递给模板而不在每个控制器中传递它,请使用twig.globals配置:

twig:
    globals:
        variable: %variable%

然后以与上面相同的方式打印它。

答案 1 :(得分:0)

$this->getParameter('project')['name'];

编辑:

对于视图,请查看Twig中的全局变量: http://symfony.com/doc/current/cookbook/templating/global_variables.html