01- created Middleware
php think make: the name of middleware Middleware
This command application generates an intermediate file below / http / middleware directory.
02- Registration middleware in three ways
1- way controller registers pathinfo, custom routing NA
<?php namespace app\index\controller; use think\Controller; class Middleware extends Controller { // controller method, it may be the case pathinfo in custom routing is not applicable in protected $ Middleware = [ 'CkeckLogin' ]; public function middle() { dump('----'); # code... } }
Custom routing middleware way 2--
//单路由 Route::get('middle','@index/middleware/middle')->middleware('CkeckLogin'); // routing group registration middleware the Route :: Group ([ 'Middleware' => [ 'CkeckLogin']], function () { Route::get('middle','@index/middleware/middle'); });
3- way configuration file to register, all controllers will be called in the location of the configuration file modules, each module can have its own file middleware.php
middleware.php in the introduction of 01- template configuration file to register multiple middleware (mass participation also available here)
<?php return [ // [app\http\middleware\CheckUser::class], // flyers values // [app\http\middleware\CheckUser::class,'lili'], // 传多个值 [app\http\middleware\CheckUser::class,['name'=>'lili','age'=>234]], [app\http\middleware\CkeckLogin::class,'lili'], ];
Routing can also pass parameters
02- routing where you can also pass parameters Route::get('middle','@index/middleware/middle')->middleware('CkeckLogin','lili'); // routing group registration middleware the Route :: Group ([ 'Middleware' => [ 'CkeckLogin']], function () { Route::get('middle','@index/middleware/middle'); }); // routing group and by value registered middleware. 1 the Route :: Group ([ 'prefix' => '@ index / Middleware'], function () { Route::get('middle','/middle'); })->middleware('CkeckLogin','libai'); // routing group registration intermediate value and pass 2 the Route :: Group ([ 'Middleware' => [ 'CkeckLogin: ksksks']], function () { Route::get('middle','@index/middleware/middle'); });
The controller was used (taken using reference)
// $name传值 public function handle($request, \Closure $next,$data) { echo 'checkuser----'.$data['name'].'---'.'age='.$data['age']; return $next($request); }