2013-04-12 47 views
2

我有一個標準的Symfony 2.2項目,帶有我自己的小軟件包。 我有一條路線,說我有一個/{customer},我可以在控制器中讀到customer,這很好。Symfony:基於url加載特定配置

但是,我也想加載一個名爲config_{customer}.yml的配置,我該怎麼做?

+0

您是否需要將此配置注入任何'services.yml'?我的意思是,可以通過'%parameter%'調用?這些參數在哪裏使用? – Touki

+0

這個問題有很多答案,我認爲你在這裏走錯了路。我假設你將'config_ {customer}'放在'app/config /'目錄中。這些配置決定了容器的編譯方式。你的路線的客戶參數在編譯之後纔可用,所以這種改變環境的方法永遠不會工作。然而,你可以在編譯之後修改服務,這將起作用,並且你可以將配置文件加載到一個執行此操作的服務中。 –

回答

0

您可以在與給定主機匹配時加載特定的包。該捆綁軟件將載入其services.yml文件。

# app/config/routing.yml 
acme_hello: 
    resource: "@AcmeHelloBundle/Resources/config/routing.yml" 
    host:  "hello.example.com" 

你捆綁的服務文件:

# src/Acme/HelloBundle/Resources/config/services.yml 
acme_hello: 
    param: value 

請參閱以下網址瞭解更多信息。 http://symfony.com/doc/master/components/routing/hostname_pattern.html