Symfony2 - 将参数传递给服务

Nor*_*icz 1 php symfony

有没有办法从SESSION或其他来源传递参数到服务?我的捆绑配置中有类似的东西:

<service id="class" class="MyClass">
    <argument key="lang">%class.lang%</argument>
</service>
Run Code Online (Sandbox Code Playgroud)

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

我也知道我可以从app config传递参数但是在应用程序中进行一些操作之后有没有办法改变它?

Ald*_*nio 5

如果该参数未通过配置修复(即,如果它依赖于某些应用程序逻辑),我会将其放在特定的类中,将该类注册为特定服务(注入所有需要的服务以确定您感兴趣的值)然后在需要该值的地方注入特定服务.