作者:gauss | 来源:互联网 | 2018-05-11 18:16
我项目中有一v1模块,在V1.php中的init代码中加载了配置{代码...}然后我在控制器中加了一行thrownewHttpException(403);最后控制器中怎么没走到我自定义的errorhandle里面呢?可是我在项目中的configweb.php...
我项目中有一v1模块,在V1.php中的init代码中加载了配置
parent::init();
Yii::configure($this, [
'components'=>[
'errorHandler' => [
'class'=>'app\modules\v1\common\ErrorHandler'
]
]
]);
然后我在控制器中加了一行throw new HttpException(403);
最后控制器中怎么没走到我自定义的errorhandle里面呢?
可是我在项目中的config/web.php的components中加入
'errorHandler' => [
'class'=>'app\modules\v1\common\ErrorHandler'
]
就能够正常走自定义的errorHandler,这是为什么呢?
回复内容:
我项目中有一v1模块,在V1.php中的init代码中加载了配置
parent::init();
Yii::configure($this, [
'components'=>[
'errorHandler' => [
'class'=>'app\modules\v1\common\ErrorHandler'
]
]
]);
然后我在控制器中加了一行throw new HttpException(403);
最后控制器中怎么没走到我自定义的errorhandle里面呢?
可是我在项目中的config/web.php的components中加入
'errorHandler' => [
'class'=>'app\modules\v1\common\ErrorHandler'
]
就能够正常走自定义的errorHandler,这是为什么呢?
v1模块的init改成
parent::init();
Yii::$app->errorHandler->errorAction = 'app\modules\v1\common\ErrorHandler';
试试看