php artisan make:middleware nameOfMiddleware
php artisan make:middleware <middleware-name>
If you want a middleware to run during every HTTP request to your application, list the middleware class in the $middleware property of your app/Http/Kernel.php class.
The middleware in web applications is the mid-layer between the HTTP request and the application logic. The middleware process incoming requests and execute the code before the controller's actions.
<?php
namespace AppHttpMiddleware;
use Closure;
class EnsureUserHasRole
{
/**
* Handle the incoming request.
*
* @param IlluminateHttpRequest $request
* @param Closure $next
* @param string $role
* @return mixed
*/
public function handle($request, Closure $next, $role)
{
if (! $request->user()->hasRole($role)) {
// Redirect...
}
return $next($request);
}
}
Route::put('/post/{id}', function ($id) {
//
})->middleware('role:editor');