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



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

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

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

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

在控制器中,我可以做:

$this->getParameter("project")

有没有办法直接访问project.name?类似于:

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

如何在模板中访问它?

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

在控制器类中:

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

在树枝模板中,要打印它:

{{ variable }}

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

twig:
    globals:
        variable: %variable%

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

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

编辑:

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

最新更新