首頁 >後端開發 >php教程 >yii2模块的独立配置不生效

yii2模块的独立配置不生效

WBOY
WBOY原創
2016-06-06 20:06:511472瀏覽

我项目中有一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>

试试看

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn