Symfony+Twig:如何通过全局变量获取Doctrine配置值
解决Twig全局变量无法获取Doctrine配置值的问题
问题核心在于%doctrine.dbal.servicename%并不是一个可直接引用的容器参数——Doctrine的配置项是作为服务配置存储的,并非全局参数,所以直接在Twig globals里引用会报错。
按以下步骤修改即可实现需求:
将Doctrine的servicename定义为容器参数
在config/parameters.yaml中添加参数定义:parameters: doctrine_dbal_servicename: 'myServiceName'修改Doctrine配置引用该参数
更新config/packages/doctrine.yaml:doctrine: dbal: servicename: '%doctrine_dbal_servicename%'在Twig全局变量中引用该参数
更新config/packages/twig.yaml:twig: globals: app_doctrine_servicename: '%doctrine_dbal_servicename%'
完成以上配置后,就能在Twig模板中通过{{ app_doctrine_servicename }}正常显示服务名称了,无需直接访问Doctrine服务。
内容的提问来源于stack exchange,提问作者Parktrip
相关产品推荐
相关产品推荐

