我正在尝试使用工厂来创建控制器实例:
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 主\控制器\ AuthenticationController :: __构建体()
为什么工厂不用来创建控制器?
答案 0 :(得分:1)
getControllerConfig()
应该在您的Module.php
中,而不在控制器本身中。其他一切看起来还不错。