gpt4 book ai didi

Symfony2 捆绑特定的 Twig 配置/变量

转载 作者:行者123 更新时间:2023-12-03 22:09:33 24 4
gpt4 key购买 nike

我知道我可以在我的 app/config/config.yml 中设置 Twig 变量,但是我想在每个包级别设置变量(例如:Bundle/Resources/config/??.yml).

例如,我想在我的页面页脚中包含一个包版本标识符。我尝试将 twig 配置放入我的包的 services.yml 但是 Symfony 无法解析配置。

我怎样才能做到这一点?

最佳答案

我不确定您如何为您的示例实现特定于 bundle 的配置。 bundle 中的配置倾向于导入到主要配置文件中,这些文件现在是特定于环境而不是特定于 bundle 的。

但是,对于您的示例,我只做一个 twig 扩展,它返回您正在使用的包的名称。这样您就可以在模板中的任何地方使用它。您可以从请求中获取 Controller 的全名路由,然后只需使用 preg 匹配即可获取 Bundle 名称。像下面这样的东西应该可以工作:

public function getBundleName()
{
$pattern = "#([a-zA-Z]*)Bundle#";
$matches = array();
preg_match($pattern, $this->container->get('request')->get('_controller'), $matches);
return $matches[1];
}

在此示例中,$this->container 已在构造函数中设置为容器的实例。如果您使用其他方法获取 Controller ,则相应地进行替换。

关于Symfony2 捆绑特定的 Twig 配置/变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15540936/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com