2011-12-01 81 views
1

通參數有沒有辦法從會話或其他來源參數傳遞到服務? 我有這樣的事情在我的包構造:Symfony2中 - 以服務

<service id="class" class="MyClass"> 
    <argument key="lang">%class.lang%</argument> 
</service> 

我知道,它可以通過在DependencyInjection從擴展參數傳遞來完成,但我不知道這個變量的來源,這可能是會議,但在某些情況下,它可以從數據庫中獲得。我只是不想在DependencyInjection中硬編碼參數應該從會話傳遞。

我也知道,我可以從應用程序配置通過參數,但有什麼辦法在申請一些acction後改變了嗎?

回答

5

如果(如果它依賴於一些應用邏輯即)我會把它特定的類中,註冊類爲特定服務(注射所需的所有服務,以確定你有興趣的值參數是不固定的配置in),然後在需要該值的地方注入特定的服務。