Zend framework2 将依赖项注入ZF2控制器时出错
嗨,我在尝试向控制器注入依赖项时出错 警告:在第170行的/var/www/html/engsvc\u dev/vendor/zendframework/zendframework/library/Zend/ServiceManager/AbstractPluginManager.php中调用的User\Controller\LoginController::\uu construct(),缺少参数1,在第23行的/var/www/html/engsvc\u dev/module/User/src/User/Controller/LoginController.php中定义 Module.phpZend framework2 将依赖项注入ZF2控制器时出错,zend-framework2,servicemanager,Zend Framework2,Servicemanager,嗨,我在尝试向控制器注入依赖项时出错 警告:在第170行的/var/www/html/engsvc\u dev/vendor/zendframework/zendframework/library/Zend/ServiceManager/AbstractPluginManager.php中调用的User\Controller\LoginController::\uu construct(),缺少参数1,在第23行的/var/www/html/engsvc\u dev/module/User/sr
public function getControllerConfig(){
return array(
'factories' => array(
'Login' => function ($sm) {
$locator = $sm->getServiceLocator();
$controller = new LoginController($locator->get("Config"));
return $controller;
},
),
);
}
public function getControllerConfig(){
return array(
'factories' => array(
'Login' => function ($sm) {
$locator = $sm->getServiceLocator();
$controller = new User\Controller\LoginController($locator->get("Config"));
return $controller;
},
),
);
}
控制器
class LoginController extends AbstractActionController{
protected $globalConfig;
protected $UserModuleSetup;
public function __construct($config){
}
class LoginController extends AbstractActionController{
protected $globalConfig;
protected $UserModuleSetup;
public function __construct($config){
}
module.config.php
"invokables" => array(
"User" => "User\Controller\LoginController",
"Login" => "User\Controller\LoginController"
),
"invokables" => array(
"User" => "User\Controller\LoginController",
),
Module.php
public function getControllerConfig(){
return array(
'factories' => array(
'Login' => function ($sm) {
$locator = $sm->getServiceLocator();
$controller = new LoginController($locator->get("Config"));
return $controller;
},
),
);
}
public function getControllerConfig(){
return array(
'factories' => array(
'Login' => function ($sm) {
$locator = $sm->getServiceLocator();
$controller = new User\Controller\LoginController($locator->get("Config"));
return $controller;
},
),
);
}
控制器
class LoginController extends AbstractActionController{
protected $globalConfig;
protected $UserModuleSetup;
public function __construct($config){
}
class LoginController extends AbstractActionController{
protected $globalConfig;
protected $UserModuleSetup;
public function __construct($config){
}
module.config.php
"invokables" => array(
"User" => "User\Controller\LoginController",
"Login" => "User\Controller\LoginController"
),
"invokables" => array(
"User" => "User\Controller\LoginController",
),
我猜您在
module.config.php
中的Login
定义覆盖了module.php
中的定义。尝试删除module.config.php
中的Login
行,我之前已经尝试过了。这导致了此错误致命错误:在第39行的/var/www/html/engsvc_dev/module/User/module.php中找不到类“User\LoginController”,可能是因为您调用“User”时未将配置传递给构造函数以修复它。谢谢请将此主题设置为关闭、删除或自动回答。