如何自动注入变量到所有模板
编辑本页如何自动注入变量到所有模板
Twig允许您自动向所有模板中注入一个或多个变量。类中定义了这些全局变量twig.globals
在主Twig配置文件中的选项:
- YAML
- XML
- PHP
1 2 3 4 5
#配置/包/ twig.yaml枝:#……全局变量:ga_tracking:“UA-xxxxx-x”
现在,变量ga_tracking
在所有Twig模板中都可用,所以你可以使用它,而不必显式地从呈现模板的控制器或服务中传递它:
1
<p>谷歌跟踪码为:{{ga_tracking}}p>
引用服务
除了静态值,Twig全局变量还可以引用服务容器.主要缺点是这些服务不是惰性加载的。换句话说,只要加载了Twig,您的服务就被实例化了,即使您从未使用过这个全局变量。
要将服务定义为全局Twig变量,请在服务ID字符串前加上@
字符,这是通常的语法引用容器参数中的服务:
- YAML
- XML
- PHP
1 2 3 4 5 6
#配置/包/ twig.yaml枝:#……全局变量:该值是服务的iduuid:“发电机@App \ \ UuidGenerator”
现在您可以使用uuid
变量在任何Twig模板中访问UuidGenerator
服务:
1
UUID:{{uuid。生成}}
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。