溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在Laravel5.1 框架中使用Middleware中間件

發布時間:2021-03-31 17:27:56 來源:億速云 閱讀:130 作者:Leah 欄目:開發技術

本篇文章給大家分享的是有關如何在Laravel5.1 框架中使用Middleware中間件,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

1 使用中間件

1.1 創建中間件

咱創建中間件是使用artisan控制臺的:

php artisan make:middleware TestMiddleware

創建好后位于:app/Http/Middleware

1.2 解讀中間件

首先我們來看看新創建的中間件是什么模樣兒:

class TestMiddleware
{
  /**
   * Handle an incoming request.
   *
   * @param \Illuminate\Http\Request $request
   * @param \Closure $next
   * @return mixed
   */
  public function handle($request, Closure $next)
  {
    return $next($request);
  }
}

解讀:middleware中只有 “handle”函數 這個函數呢接受兩個參數

它的流程是接受request參數 取出一些東西做驗證 如果邏輯通過 執行next閉包。

如果你還是不太懂的話 沒關系 咱上實例

1.3 編寫中間件

  public function handle($request, Closure $next)
  {
    // 如果傳入的id參數等于0 就跳轉到首頁。
    if ($request->input('id') == 0){
      return redirect('/');
    }
    // id參數不等于0 則為通過 進行默認的下一步操作。
    return $next($request);
  }

完事兒后我們需要在 app/Http/Kernel.php 中進行注冊:

  /**
   * The application's global HTTP middleware stack.
   *
   * @var array
   */
  protected $middleware = [
    \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
    \App\Http\Middleware\EncryptCookies::class,
    \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
    \Illuminate\Session\Middleware\StartSession::class,
    \Illuminate\View\Middleware\ShareErrorsFromSession::class,
    \App\Http\Middleware\VerifyCsrfToken::class,
  ];
  /**
   * The application's route middleware.
   *
   * @var array
   */
  protected $routeMiddleware = [
    'auth' => \App\Http\Middleware\Authenticate::class,
    'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
    'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
    // 把我們創建的middleware注冊到這里
    'test' => \App\Http\Middleware\TestMiddleware::class,
  ];

注意:我們可以瞧見啊 Kernel 中有兩個數組 如果你希望在全局中使用 就注冊在middleware數組中,如果你想要局部使用middleware 那么就在routeMiddleware數組中注冊。

1.4 使用中間件

好了,注冊完之后我們來用用吧:

Route::get('/test-middleware',['middleware'=>'test',function(){
  return 'HI';
}]);

以上就是如何在Laravel5.1 框架中使用Middleware中間件,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女