【发布时间】:2014-04-20 06:47:36
【问题描述】:
所以在 Silex 中,我试图从我的控制器操作中获取 $app 参数,并只传入与控制器/操作相关的依赖项。
通常我的控制器具有这些共享依赖项:
- 模板引擎
- 会话提供者
- 翻译提供商
- 网址生成器
- 验证提供者
默认情况下,我有一个基本 Controller 类在构造函数上接受这些。从它继承的控制器最终也会采用这些参数。此外,它们采用其他参数,例如对象存储库/存储(例如身份验证或用户控制器中的用户存储库)。
我最终在 Silex 中注册了具有至少 5 个参数的控制器到构造函数,而我在其他应用程序中似乎看不到很多这样的参数。感觉我做错了。
我也意识到我在抱怨 Pimple DI 容器“修复”的同一件事,但使用它似乎也不完全符合 DI 哲学。
我的问题:有没有更好的方法来做我正在做的事情?
【问题讨论】:
标签: php dependency-injection controller silex