【发布时间】:2014-05-29 17:49:59
【问题描述】:
我有一个通过 Symfony 2 中的依赖注入加载的类。 它有许多默认的私有变量,我可以用 setter 覆盖它们。
问题是,一旦将这些默认值之一设置为页面中的其他值,就无法自动将其设置回来。 我不想再次使用 new 调用该类,因为它消除了依赖注入的用处。
那么,Symfony2 是否支持 Object LifeStyle,或者我基本上需要编写一个公共函数来将所有默认设置恢复正常并在每次需要时调用它。
例如,我使用一个类来获取远程文件。它具有 UserAgent、接受的语言/编码、方法等的默认值。但是,如果我将方法设置为 POST,而不是页面中一次调用的默认 GET,那么下次我调用它时,它仍然是 POST,因为我希望它再次成为默认的 GET,如果我使用 new 而不是通过依赖注入。
【问题讨论】:
-
一些可能的解决方案:不要使用共享服务(每次都创建一个新实例);使用范围
标签: symfony dependency-injection