2018-07-26 14:33:06 2221次浏览 4条回答 0 悬赏 10 金钱

在 init 中怎么获取请求的方法?
使用常规的 Yii::$app->controller->action->id 获取不到

  • 回答于 2018-07-26 14:52 举报

    需要继承 yii\base\Widget 才能覆盖这个 init 方法。

  • 回答于 2018-07-27 14:54 举报

    init是的时候还没有action怎么可能获取它的id到呢。

  • 回答于 2018-07-31 21:59 举报

    还可以在beforeAction里获取啊

  • 回答于 2018-08-01 10:54 举报

    `

    public function init() {
        parent::init();
        
        var_dump($this->module->requestedRoute); //public 'requestedRoute' => string 'account/index' (length=13)
        $tmpArr = explode('/', $this->module->requestedRoute);
        var_dump(end($tmpArr)); // index
        exit;
        
    }
    

    `

    我用手里的程序 简单debug了一下,这样可以获取到action的名称,但是实际上直接用 $_SERVER 也可以做同样的事情, 应该是在生命周期里action 还没有生成,正确的操作位置应该是在 beforeAction里, 比较忙 没空查文档,所以大概这样回一下,希望对你有帮助。
    
您需要登录后才可以回答。登录 | 立即注册
xhh
总监

xhh 郑州

注册时间:2016-12-26
最后登录:2018-08-22
在线时长:10小时42分
  • 粉丝3
  • 金钱2110
  • 威望20
  • 积分2410

热门问题