2011-12-01 53 views
1

通参数有没有办法从会话或其他来源参数传递到服务? 我有这样的事情在我的包构造:Symfony2中 - 以服务

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

我知道,它可以通过在DependencyInjection从扩展参数传递来完成,但我不知道这个变量的来源,这可能是会议,但在某些情况下,它可以从数据库中获得。我只是不想在DependencyInjection中硬编码参数应该从会话传递。

我也知道,我可以从应用程序配置通过参数,但有什么办法在申请一些acction后改变了吗?

回答

5

如果(如果它依赖于一些应用逻辑即)我会把它特定的类中,注册类为特定服务(注射所需的所有服务,以确定你有兴趣的值参数是不固定的配置in),然后在需要该值的地方注入特定的服务。