繁体   English   中英

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

[英]Controller mapping causing error in yii2 console application

模块部分配置

'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)向我显示错误

'调用未知方法:app \\ controllers \\ user \\ AdminController :: getHelpSummary()'

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

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

这是来自用户模块的命令

您是否真的需要控制台中的用户模块?

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

您可以在./yii检查已加载的配置列表。

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

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

尝试将其添加到控制台配置中

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM