我是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")
如何在模板中访问它?
答案 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