我项目中有一v1模块,在V1.php中的init代码中加载了配置
<code class="php"> parent::init(); Yii::configure($this, [ 'components'=>[ 'errorHandler' => [ 'class'=>'app\modules\v1\common\ErrorHandler' ] ] ]);</code>
然后我在控制器中加了一行throw new HttpException(403);
最后控制器中怎么没走到我自定义的errorhandle里面呢?
可是我在项目中的config/web.php的components中加入
<code class="php"> 'errorHandler' => [ 'class'=>'app\modules\v1\common\ErrorHandler' ]</code>
就能够正常走自定义的errorHandler,这是为什么呢?
我项目中有一v1模块,在V1.php中的init代码中加载了配置
<code class="php"> parent::init(); Yii::configure($this, [ 'components'=>[ 'errorHandler' => [ 'class'=>'app\modules\v1\common\ErrorHandler' ] ] ]);</code>
然后我在控制器中加了一行throw new HttpException(403);
最后控制器中怎么没走到我自定义的errorhandle里面呢?
可是我在项目中的config/web.php的components中加入
<code class="php"> 'errorHandler' => [ 'class'=>'app\modules\v1\common\ErrorHandler' ]</code>
就能够正常走自定义的errorHandler,这是为什么呢?
v1模块的init改成
<code class="php">parent::init(); Yii::$app->errorHandler->errorAction = 'app\modules\v1\common\ErrorHandler';</code>
试试看