Zend framework 自动将资源注入控制器

Zend framework 自动将资源注入控制器,zend-framework,dependency-injection,Zend Framework,Dependency Injection,我正试图在我们的Zend框架项目中实现依赖注入 在以前基于APS.NET的项目中,我们使用并覆盖了DefaultControllerFactory将依赖项注入控制器 我不确定在Zend框架中在哪里进行注入?我已经研究了Zend\u Controller\u Plugin\u Abstract和Zend\u Controller\u Action\u Helper\u Abstract,但它们似乎都不能让我注入当前实例化的控制器 我希望能够像在ASP.NET中一样注入到当前控制器的构造函数中,但是

我正试图在我们的Zend框架项目中实现依赖注入

在以前基于APS.NET的项目中,我们使用并覆盖了
DefaultControllerFactory
将依赖项注入控制器

我不确定在Zend框架中在哪里进行注入?我已经研究了
Zend\u Controller\u Plugin\u Abstract
Zend\u Controller\u Action\u Helper\u Abstract
,但它们似乎都不能让我注入当前实例化的控制器

我希望能够像在ASP.NET中一样注入到当前控制器的构造函数中,但是setter是可以接受的(我猜)

关于如何做到这一点或类似的事情,有什么想法吗

最终,我希望能够做到以下几点:

MyController extends Zend_Controller_Action {
  // private vars
  [...]

  public function __constructor($authenticationService, $userRepository) {
    $this->_authServ = $authenticationService;
    $this->_userRepo = $userRepository;
  }    

}
我想做一些我为stuctureMap做的事情:

For(authenticationService).Use(WhatEverClass);
或者可能:

$currentController->authServ = $authenticationService;
$currentController->userRepo = $userRepository;
简而言之:我们在哪里可以拦截当前控制器的创建(或获取其实例?

类似的(未回答的)问题

谢谢!
/Jon

Zend Framework首席开发人员Matthew Weier O'Phinney的一篇文章似乎阐述了向控制器注入资源的想法:

另外,这是一个与Zend Framework集成的依赖项注入库。它与注释一起工作

它使您能够执行以下操作:

MyController extends Zend_Controller_Action {
    /**
     * @Inject
     * @var MyService
     */
    private $myService;

    public function helloAction() {
        return $this->myService->sayHello();
    }
}

谢谢!这和我想要的非常相似,非常有用。