Maison  >  Article  >  développement back-end  >  yii2模块的独立配置不生效

yii2模块的独立配置不生效

WBOY
WBOYoriginal
2016-06-06 20:06:511451parcourir

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

试试看

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn