laravel5 的中間件的使用 (1)


laravel5 的中間件的使用 (1)

1.創建中間件

  php artisan make:middleware _Name_Middleware

 

2.注冊中間件

  2.1 中間件注冊在 Kennel.php 里面

  2.2 默認的存放在此處,會自動調用

     

/**
 * The application's global HTTP middleware stack.
 *
 * These middleware are run during every request to your application.
 *
 * @var array
 */
protected $middleware = [
    \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,

  #可在此處進行注冊 如
   'App\Http\Middleware\AfterMiddleware',

];

 

  2.3 還有一種觸發的方式,就是 從Route進行觸發的

  2.3.1 首先需要注冊他,即

  

    /**
     * The application's route middleware.
     *
     * These middleware may be assigned to groups or used individually.
     *
     * @var array
     */
    protected $routeMiddleware = [
        'auth' => \App\Http\Middleware\Authenticate::class,
        'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
        'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
        'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
        #注冊一個 中間件
        'demo.before'  => 'App\Http\Middleware\BeforeMiddleware',
    ];

  他的使用和默認的有所不同,他想要在 router.php 中 使用 Router:: 的時候觸發 

 

<?php


Route::group(['middleware' => ['web']], function () {

    Route::get('/', function () {
        return view('welcome');
    });



    Route::group(['prefix' => 'demo'],function(){
          Route::get('after', ['as'=>'home.after.ware' , 'uses' => 'HomeController@after']);
 }); });

 

此處的代碼是這樣子的,當我們 訪問的時候,他便會 進行自動使用中間件

 

3. 主要說說第二種方式的觸發,可以看到

Kernel.php 處的 middleware 的 demo.before

       

'demo.before'  => 'App\Http\Middleware\BeforeMiddleware',


與 Router.php 處的 路由 demo --> before 對應
Route::group(['prefix' => 'demo'],function(){
Route::get('before', ['as'=>'home.before.ware' , 'uses' => 'HomeController@before']);
});

 

OK,寫的不好之處,望指正

 

 

 

 

 

     


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM