控制器映射在yii2控制台应用程序中导致错误

时间:2015-11-16 12:39:18

标签: php yii2 yii2-user phundament

模块部分配置

'user'  => [
            'class' => 'dektrium\user\Module',
            'modelMap' => [
                'User' => 'app\models\DL\User',
                'registrationForm' => 'app\models\DL\registrationForm',
            ],
            'controllerMap' => [
                /*'registration' =>    'app\controllers\user\RegistrationController',
                'admin' => 'app\controllers\user\AdminController'*/
            ],
            'layout'       => '@app/views/layouts/container',
            'defaultRoute' => 'profile',
            'admins'       => ['admin'],
            'enableFlashMessages' => false,
            'params' => [
                'menuItems'      => [
                    'label' => 'Users',
                    'url'   => ['/user/admin']
                ]
            ]
        ],

Yii控制台应用程序(./yii)显示错误

  

'调用未知方法:   应用\控制器\用户\ AdminController :: getHelpSummary()'

如果我取消注释controllerMap部分,我无法理解为什么如果我的AdminController扩展了网络控制器而不是控制台,它会在控制台应用中自动加载。

这是来自用户模块的命令。

This is commands from user module

2 个答案:

答案 0 :(得分:0)

你真的需要在控制台中使用用户模块吗?

默认情况下,Yii2控制台和Web应用程序具有单独的配置文件。如果您更改了此默认值并对它们使用相同的配置,则必须注意一致性。

您可以在./yii

中查看已加载的配置列表

答案 1 :(得分:0)

您需要为控制台应用程序指定有效的defaultRoute

使用'defaultRoute' => 'profile'./yii可能会尝试加载需要Controller模块的user

尝试在console configuration中添加。