我想在我們的Zend Framework項目中實現依賴注入。自動注入資源到控制器
在之前的基於APS.NET的項目中,我們使用了StructureMap並覆蓋DefaultControllerFactory
以將相關性注入到控制器中。
我不確定在Zend Framework中注入哪裏?我已經研究過Zend_Controller_Plugin_Abstract
和Zend_Controller_Action_Helper_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;
總之:我們在哪裏可以攔截創建(或獲得實例)當前的控制器?
類似(解答)問題here
謝謝! /喬恩
非常感謝!這與我所尋找的非常相似,非常有用。 –