【发布时间】:2016-03-29 20:50:49
【问题描述】:
我正在做一个 Symfony2 项目。 Symfony 有一个非常酷的依赖注入系统,但我想知道是否可以动态扩展某些服务...
例如,我有一个由第三方库/捆绑包注册的供应商服务 X。现在,我需要扩展该服务,我们称它为 Y... 我可以通过在服务配置中使用相同的服务 ID 来做到这一点。所以这一切都很好......
但是现在,我需要一个从 Y 扩展的服务 Z,而该服务不知道它实际上是从 Y 而不是 X 扩展的(因为供应商服务是 X),所以我可以像使用 X 一样使用服务 Z在不丢失 Y 功能的情况下降低应用程序逻辑。
我希望我的解释有点道理,基本上我的问题是:这可能吗?如果是这样,我应该如何实现这一目标?
【问题讨论】:
-
您可以装饰现有服务而不是替换is:symfony.com/doc/current/components/dependency_injection/…
-
这似乎正在做我需要的......这对我来说是全新的,所以我要研究这个解决方案,谢谢!也许如果您将此添加为答案并且事实证明它是最佳解决方案,我会将其标记为最有帮助的,以便其他遇到此问题的人会看到它。
-
我添加了一个答案。随时询问您是否需要更多信息。 :)
标签: symfony service dependency-injection dependencies extending