2016-04-13 5 views
0

Привет, У меня возникают ошибки при попытке установить зависимости от моих контроллеров.Ошибка при вводе зависимостей в контроллеры ZF2

Warning: Missing argument 1 for User\Controller\LoginController::__construct(), called in /var/www/html/engsvc_dev/vendor/zendframework/zendframework/library/Zend/ServiceManager/AbstractPluginManager.php on line 170 and defined in /var/www/html/engsvc_dev/module/User/src/User/Controller/LoginController.php on line 23

module.php

public function getControllerConfig(){ 
    return array(
     'factories' => array(
      'Login' => function ($sm) { 
       $locator = $sm->getServiceLocator(); 
       $controller = new LoginController($locator->get("Config")); 
       return $controller; 
      }, 
     ), 
    ); 
} 

Контроллер

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" 
), 
+0

Я предполагаю, что ваш 'определение login' в' module.config.php' является отменяя определение в 'Module.php'. Попробуйте удалить строку 'Login' в' module.config.php' – marcosh

+0

Я уже пробовал это раньше. что привело к этой ошибке. Неустранимая ошибка: Class 'User \ LoginController' не найден в /var/www/html/engsvc_dev/module/User/Module.php в строке 39 –

+1

Возможно, потому что вы вызываете «Пользователь» без конфига, переданного конструктору – chaoss88

ответ

0

module.php

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){ 

} 

module.config.php

"invokables" => array(
    "User" => "User\Controller\LoginController", 
), 

 Смежные вопросы

  • Нет связанных вопросов^_^