<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 中間件 中間件可以在執行過程中自動運行的部件,中間件主要對http請求進行攔截處理。比如,我們可以在執行控制器方法時自動使用“中間件”完成用戶登錄驗證操作。 [TOC] ## 創建中間件 中間件需要創建在 system/middleware 目錄中,可以通過命令快速的進行創建: ``` php hd make:middleware Auth ``` 生成文件如下: ``` namespace system\middleware; class Auth { //執行中間件 public function run($next){ echo "中間件執行了"; $next(); } } ``` ## 全局中間件 全局中間件會在應用啟動時自動執行,不需要人為調用系統會自動執行全局中間件。 修改配置文件 system/config/middleware.php 中的global配置段來設置中間件處理類。 #### 配置 修改配置文件 system/config/middleware.php 中的global配置段 ``` 'global' => [ \system\middleware\Boot::class, \system\middleware\Auth::class ] ``` ## 應用中間件 應用中間件不會自動執行,需要開發者自行調用。 #### 系統內置中間件 可以通過創建中間類來執行 | 中間件 | 說明 | | --- | --- | | database_query | 數據庫查詢操作 | | database_execute | 數據庫更新/刪除/插入操作 | #### 配置 修改配置文件 system/config/middleware.php 中的 web配置頂 ``` 'web' => [ 'auth'=>[ \system\middleware\Auth:class, \system\middleware\Hd:class ] ] ``` #### 執行 使用中間件服務的 web() 方法運行應用中間件 ``` Middleware::web('auth'); ``` #### 動態添加 動態添加應用中間件 ``` Middleware::add('auth',[\app\Test:class]); //各auth中間件中添加處理動作app\Test類 ``` ## 控制器中間件 控制器中間件只能在控制器訪問時有效,普通路由訪問時無效。 #### 配置 修改配置文件 system/config/middleware.php 中的controller配置頂 ``` 'controller' => [ 'auth'=>[\system\middleware\Auth:class] ] ``` #### 使用 在控制器的 __construct 方法或之前執行以下代碼都可觸發控制器中間件運行。 ``` Middleware::set('auth'); ``` 只允許指定方法運行中間件 ``` Middleware::set('auth', ['only' => ['test']]); ``` 除了某個方法外其他方法執行中間件 ``` Middleware::set('auth', ['except' => ['test']]); ``` **示例** ``` namespace app\home\controller; //初始控制器 class Index{ public function __construct(){ //中間件只在test方法中執行 Middleware::set('auth', array('only' => array('test'))); } public function index(){ echo '后盾視頻'; } public function test(){ echo '后盾網'; } } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看