国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

感覺控制器的前置初始化還是放在框架層面比較好

ichynul

見我之前發(fā)過的pr: https://github.com/walkor/webman-framework/pull/39/files
調(diào)用控制器的action前,檢測控制器是否存在約定名稱的初始化方法。
靠中間件去處理,有中間件執(zhí)行順序的問題。
比如使用action-hook處理。


protected $admin;

public function beforeAction(Request $request)
{
    $this->admin = session('admin_user');
    if (!in_array($this->admin['role_id'], [1, 2])) {
       //特殊角色處理
    }
}

我另外使用了一個中間件處理權限驗證,正常情況來講,如果action-hook中間件在我中間件后面的話,
$this->admin = session('admin_user');這句是可以拿到當前管理員用戶的。
但如果action-hook在我權限驗證中間件之前執(zhí)行了,用戶未登錄時這里直接就報錯了。
如果我在這里加上if(!$this->admin){}判斷,那我另外的中間件就是多余的了,直接把權限驗證放在beforeAction里面做。
而且還會陷入一個怪圈,就是那種寫個baseController,然后其的所有控制器去繼承它。
另外,別告訴我修改config/middleware.php調(diào)整中間件順序之類的。我寫個插件做的權限驗證。

1137 1 0
1個回答

walkor 打賞

等 1.4,1.4版本支持不復用控制器,到時候就可以在每個請求前執(zhí)行控制器的__construct

  • 暫無評論
年代過于久遠,無法發(fā)表回答
??