久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      說一說ThinkPHP6中五花八門的中間件

      在ThinkPHP6中新增中間件功能,而且中間件又分很多類型的中間件,很多新手對ThinkPHP6中間件很犯難,下面就給大家分別介紹下。

      全局中間件:

      我們下載好ThinkPHP6的框架后,在app目錄下就有一個middleware.php,我們在app目錄下定義的中間件叫做全局中間件,全局中間件是對所有應用都生效的中間件。

      應用中間件:

      那換而言之,如果我們再復制一份middleware.php放在了某個應用下,比如index應用,是不是就叫做應用中間件呢,答案是對的。

      控制器中間件:

      如果在控制器中操作中間件,是不是就叫做控制器中間件?

      路由中間件:

      那可不可以在路由中也定義中間件,比如我只想讓某個請求使用某個中間件,其他的并不想使用中間件,那也就有了路由中間件。

      如果同一個請求,所有類型的中間件都定義了,那執(zhí)行順序是如何呢?

      全局中間件->應用中間件->路由中間件->控制器中間件

      接下來我們看一個實例。

      全局中間件:

       public function handle($request, Closure $next)     {         echo 'app全局中間件';         return $next($request);     }

      應用中間件:

      public function handle($request, Closure $next)     {         echo '應用中間件';         return $next($request);     }

      路由中間件:

      Route::rule('hello','index/hello') ->middleware(appmiddlewareAuth::class);

      控制器中間件:

      在使用控制器中間件之前,我們先定義好別名,在根目錄下configmiddleware.php中定義別名。這個別名其實就是增加別名標識。別名定義好后,不僅在控制器中間件可以使用,路由中間件也可以使用。

      return [     'alias' => [         'auth1' => appmiddlewareAuth1::class,     ], ];

      我們在這里定義別名中間件,就不需要在middleware.php中聲明了,而是通過在控制中使用別名定義:

      class Index {     protected $middleware = ['auth1'];     public function index()     {        return 'index';     }     public function hello()     {        echo 'hello方法';     } }

      這個時候我們訪問hello方法,輸出結果是:

      app全局中間件

      應用中間件

      路由中間件

      控制器中間件

      hello方法

      贊(0)
      分享到: 更多 (0)
      ?
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號