2012-04-19 98 views
1

我正在使用Symfony2。對於我的應用程序,我需要爲此設置一些全局參數。設置全局參數Symfony2

我在parameters.ini文件中定義的參數爲:

#app/config/parameters.ini 

[parameters] 
    mailer_auth_mode="login" 
    user_thumbnail_path="images/user/thumbnail" 

我可以用下面的代碼來訪問這在我的控制器:

$this->container->getParameter('user_thumbnail_path'); 

由於我使用FOSUserBundle,我有覆蓋ProfileHandler類,並在這個類中我想使用參數,但我不知道如何。

+2

一般來說,您會希望使您的「處理程序」類成爲服務,然後將參數注入到服務中。從這裏開始:http://symfony.com/doc/current/book/service_container.html – Cerad 2012-04-19 12:02:16

+0

thx Cerad,但這種解決方案將不適合我的情況,因爲我明白,因爲即時通訊初學者在symfony2 ...我使用FOSUserBundle並覆蓋其處理程序類在那裏我想要使用此參數... – 2012-04-19 12:14:16

+1

請考慮更新您的問題並使其成爲特定的FOSUserBundle。我不使用捆綁包,所以我不能給你一個確切的答案。但是很多其他人使用這個軟件包。在目前的形式下,這個問題太籠統了,以至於任何人都不能提供比一般的解決方案更多的東西。 – Cerad 2012-04-19 12:20:33

回答

0

創建自己的手柄或延伸你想要的。

將其註冊爲服務。

my.handler: 
    class: Acme\MyBundle\Form\Handler\MyHandler 
    arguments: ... 

然後將服務ID設置爲要處理的表單的處理程序。

fos_user: 
    ... 
    registration: 
     form: 
      handler: my.handler