2016-04-13 8 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

+0

私はmodule.config.php' ''であなたのLogin'定義がModule.php' '内の定義を上書きしていることを推測します。 'module.config.php'の' Login'行を削除してみてください。 – marcosh

+0

私は既にそれを以前に試みました。このエラーが発生しました。致命的なエラー:クラス 'User \ LoginController'が/var/www/html/engsvc_dev/module/User/Module.phpの39行目に見つかりませんでした –

+1

おそらく、あなたがコンストラクタ – chaoss88

答えて

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

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", 
), 
関連する問題