Symfony2依赖注入是否支持Object Lifestyle?

时间:2013-08-02 17:08:53

标签: symfony dependency-injection

我有一个类,我通过Symfony 2中的依赖注入加载。 它有许多默认的私有变量,我可以用setter覆盖它们。

问题是,一旦其中一个默认值设置为页面中的其他内容,就无法自动将其设置回来。 我不想再使用 new 调用该类,因为它消除了依赖注入的有用性。

那么,Symfony2是否支持Object LifeStyle,或者我基本上需要编写一个公共函数,它将所有默认值重置为正常状态,并在每次需要时调用它。

作为一个例子,我使用一个类来获取远程文件。它具有UserAgent,Accepted Language / Encoding,Method等的默认值。但是如果我将Method设置为POST,而不是页面中一个调用的默认GET,那么下次我调用它时,它仍然是POST,我在哪里希望它再次成为默认的GET,如果我使用 new 而不是通过依赖注入,那就是它。

1 个答案:

答案 0 :(得分:0)

将范围:原型添加到您的服务定义中。这将确保您每次请求课程时都从容器中获取新实例。当然,实例将具有默认值。

http://symfony.com/doc/current/cookbook/service_container/scopes.html