[英]How to pass a variable to routing defaults in Symfony?
我有一個帶有多個品牌(子域)的 Symfony2 項目。 每個子域應使用相同的站點功能和相同的路由(具有不同的主機名)。 因此,我想將路由路徑中的子域設置為變量。 現在它看起來像:
mybundle_route:
resource: "@MyProjectBundle/Controller/"
type: annotation
prefix: /
host: "{subdomain}.%base_host%"
requirements:
subdomain: sub1|sub2
並且路由本身有效。 但是如果我嘗試生成一些路由(例如在樹枝中),我會收到以下錯誤,因為沒有設置子域變量:
缺少一些必需參數(“子域”)以生成路由“company_route”的 URL。
我不想將參數添加到項目中的每個 path() 函數中。 如果我添加這樣的默認值,它適用於一個子域:
defaults:
subdomain: sub1
但是其他子域的路由是錯誤的。 它也不適用於
defaults:
subdomain: "%subdomain%"
我所需要的只是將 %subdomain% 變量傳遞給默認值或將其設置在控制器構造函數中的某處。 但我無法找到它是如何進行的。 我將不勝感激任何幫助。
如果沒有更好的解決方案,您可以嘗試在配置文件中設置%subdomain%
參數:
subdomain_parameter.php
。$container
因此您可以從 url 手動檢索當前子域並將其傳遞給容器。subdomain_parameter.php
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.