我是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