本来HomeController继承CommonController(自己实现的)继承Controller,在CommonController的init函数中实现密码访问跳转(若密码错误就不会跳进HomeController的actionIndex里),然后HomeController的actionIndex里要用到CommonController的init函数变量的参数。结果是访问入口index.php就直接访问actionIndex,根本没执行init,为什么呢?
以下是调试信息:
in /var/www/html/CodeNote/controllers/HomeController.php at line 50 – appmodelshomeFolderModel::search(0, null)
appcontrollersHomeController::actionIndex()
in /var/www/html/CodeNote/vendor/yiisoft/yii2/base/InlineAction.php at line 55 – call_user_func_array([appcontrollersHomeController, 'actionIndex'], [])
in /var/www/html/CodeNote/vendor/yiisoft/yii2/base/Controller.php at line 154 – yiibaseInlineAction::runWithParams([])
in /var/www/html/CodeNote/vendor/yiisoft/yii2/base/Module.php at line 454 – yiibaseController::runAction('index', [])
in /var/www/html/CodeNote/vendor/yiisoft/yii2/web/Application.php at line 100 – yiibaseModule::runAction('', [])
in /var/www/html/CodeNote/vendor/yiisoft/yii2/base/Application.php at line 375 – yiiwebApplication::handleRequest(yiiwebRequest)
in /var/www/html/CodeNote/web/index.php at line 12 – yiibaseApplication::run()
从下向上看,到最顶的null就明显出错了
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
HomeController里的init方法中 加一句parent::init()试试