3
我知道我可以在我的app/config/config.yml
設置枝條變量,但是我想在每捆級別設置變量(例如:Bundle/Resources/config/??.yml
)。Symfony2的捆綁特定枝杈配置/變量
例如我想在我的頁面的頁腳中包含一個包版本標識符。我嘗試將樹枝配置放入我的捆綁包'services.yml
,但Symfony無法解析配置。
我該如何做到這一點?
我知道我可以在我的app/config/config.yml
設置枝條變量,但是我想在每捆級別設置變量(例如:Bundle/Resources/config/??.yml
)。Symfony2的捆綁特定枝杈配置/變量
例如我想在我的頁面的頁腳中包含一個包版本標識符。我嘗試將樹枝配置放入我的捆綁包'services.yml
,但Symfony無法解析配置。
我該如何做到這一點?
我不確定如何在您的示例中實現特定於包的配置。捆綁包中的配置往往會被導入到主要的配置文件中,這些配置文件現在是特定於環境的,而不是捆綁特定的。
但是,對於您的示例,我只需製作一個樹枝擴展,它將返回您正在使用的軟件包的名稱。這樣,您可以在模板中隨時隨地使用它。您可以從請求中獲取控制器的完整命名路由,然後使用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
已經在構造函數中被設置爲容器的一個實例。如果您使用其他方法獲取控制器,則相應地進行替換。