模型视图控制器 – Symfony 2:控制器的依赖注入(DI)
发布时间:2020-12-14 00:47:02 所属栏目:百科 来源:网络整理
导读:有没有机会使控制器依赖于他们的服务,而不是通过使用它们中的服务容器,而是通过纯构造函数依赖注入? 我想以这种方式写控制器: ?phpclass ArticleController extends SymfonyBundleFrameworkBundleControllerController{ private $articleFacade; priv
有没有机会使控制器依赖于他们的服务,而不是通过使用它们中的服务容器,而是通过纯构造函数依赖注入?
我想以这种方式写控制器: <?php class ArticleController extends SymfonyBundleFrameworkBundleControllerController { private $articleFacade; private $articleRepository; public function __construct(ArticleFacade $articleFacade,ArticleRepository $articleRepository) { $this->articleFacade = $articleFacade; $this->articleRepository = $articleRepository; } public function indexAction() { ... } } 不幸的是,我可以看到Symfony ControllerResolver不会通过ServiceContainer执行控制器的新实例,而是通过简单的返回new $controller调用.
实际上推荐的是,如果你看到大多数第三方捆绑包,如FOSUser,你可以看到这正是他们所做的.
诀窍是将控制器定义为服务,然后使用服务标识而不是类名称. http://symfony.com/doc/current/cookbook/controller/service.html 请记住,您将不得不注入所有需要的服务,例如实体管理员,您通常不会扩展symfony基类.当然,你可以注入完整的容器,但是往往会皱起眉头. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- cocos2dx 3.3 适配(缩放距离, 不缩放图片)
- 在XAML / C#中防止ListView的返回(回车),向上和向下箭头键的
- c# – 如何获取ObjectSet的实体密钥名称?
- c – 如果给定顺序和后序遍历,如何输出树的前序遍历?
- AdminEAP框架-SpringMVC+spring集成通用第三方登录(以gith
- 正则的扩展方法简化应用
- c# – LINQ to SQL – 如何有效地执行AND或OR搜索多个条件
- ruby-on-rails-3 – 在Heroku日志中查找特定字符串
- gear-vr – 如何在React VR场景中检测Gear VR输入?
- ruby-on-rails – 活动管理员 – 如何在标记之前添加自定义