0
我想使用一個工廠來創建一個控制器實例:ZF2 - 缺少參數1 XXXController :: __結構()
class AuthenticationController extends AbstractActionController
implements ControllerProviderInterface
{
private $loginLogoutService;
public function __construct($lls)
{
$this->loginLogoutService = $lls;
}
public function getControllerConfig() {
return array(
'factories' => array(
'Main\Controller\Authentication' => function(ControllerManager $cm) {
$sm = $cm->getServiceLocator();
$depA = $sm->get('LoginLogoutService');
$controller = new AuthenticationController($depA);
return $controller;
},
),
);
}
但我收到錯誤消息:
警告:缺少參數1 Main \ Controller \ AuthenticationController :: __ construct()
爲什麼不用工廠來創建控制器?
工作正常,但爲什麼它必須在Module.php中,當文檔說ControllerProviderInterface可以使用?我只是不明白... – JVerstry
'ControllerProviderInterface'只能由'Module.php'實現。控制器有一個實例方法定義瞭如何創建自己的實例是沒有意義的,因爲控制器管理器必須首先創建一個實例來調用該方法。 –