欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

yii2模块的独立配置不生效

程序员文章站 2024-01-16 08:00:28
...
我项目中有一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';

试试看