1. It runs in middle
2. Application Load and before calling your function at controller
3. It works like police check
4. app/http/middleware
5. handle there is only method
6. pass parameter request , closure next , guard
7. next is used for next middleware
example
public function handle(Request $request, Closure $next , guard null){
return $next($next)
}
8. Generate through command line
php artisan make:middleware Test
9. Route::get("/",function(){
echo "Hello World";
})->middleware(''Log");
Route::get("/",function(){
echo "Hello World";
},middleware =['test','test2']);
Route::get("/",function(){
echo "Hello World";
},middleware =['web']);
10. Register middleware
There is 2 types of Kernel
app/http/Kernel.php
Three types of middeware
$middleware
$middlewareGroups
$routeMiddleware
Add in
$routeMiddleware
'logger' => \App\Http\Middleware\LoggerMiddleWare::class,
10.
Route::group(["prefix"=>'admin','middleware'=['web']],function(){
});
11. Route::post("/doTest",['uses'=>"AdminController",'middleware' => ['test','test2'] )
12. AdminController extends Controller {
public function __construct(){
$this->middleware(['auth','web'], 'only'=>['dashboard']);
}
public function __construct(){
$this->middleware(['auth','web'], 'except'=>['dashboard']);
$this->middleware('admin', 'only'=>['postMethod']);
}
}