限时 5折! 详情

yii2源码分析-看一个过滤器的问题

4099 0 0

今天不讲内容,仅仅分享一下混乱的beforeAction,希望对各位有所帮助。

昨天发文后,某同学私下问的一个问题,我简单描述一下。

配置yii2-admin组件的时候,有一项关于行为的配置,如下

'as access' => [
    'class' => 'mdm\admin\components\AccessControl',
    'allowActions' => [
        //这里是允许访问的action
        '*'
    ]
],

之前配置过yii2-admin组件的应该都不陌生,没配置过的也没关系,看主要问题。

在上文介绍的执行请求过程中,这个行为它是从哪一步开始执行的,mdm\admin\components\AccessControl::beforeAction为什么会自动执行,为什么我给一个继承自 yii\base\Behavior 的行为添加的beforeAction 方法不会自动执行呢?

首先能这么问,肯定思考了,动手实践了,这很好,也希望大家在阅读的过程中,多分析,多留言。

继续阅读

还有80%的精彩内容,购买继续阅读

登录 后发布评论
  • 狼哥,beforeAction() 触发的beforeAction事件,怎么事件处理函数又去调用 beforeAction() 方法啊?$event->isValid = $this->beforeAction($event->action);

    • 注意一个重点问题:mdm\admin\components\AccessControl::beforeAction为什么会自动执行?
      再注意一个细节:yii\base\ActionFilter::beforeFilter回调调用的beforeAction是谁?
      搞不明白,就带着问题把文章再看看。

  • 之前付过一次费用了,请问这个是什么,是出的另一个版本需要付费阅读的吗

    • 这边查到你购买的是yii2实战系列的文章,目前这个系列属于yii2源码分析系列,需要单独付费购买的。

  • 后面的总结前后顺序没有错..yii\base\Module::beforeAction,不过你前面怎么说是 用controller级别的beforeAction事件,其实用的是模块级别的beforeAction