0

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

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

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

例如,我使用一个类来获取远程文件。它具有 UserAgent、接受的语言/编码、方法等的默认值。但是如果我将方法设置为 POST,而不是页面中一次调用的默认 GET,那么下次我调用它时,它仍然是 POST,因为我希望它再次成为默认的 GET,如果我使用new而不是通过依赖注入,那就是它。

4

1 回答 1

0

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

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

于 2013-08-02T17:34:01.630 回答