Zum Inhalt

Route

Test-Route

<?php

use Illuminate\Support\Facades\Route;

Route::get('/test-route', function () {
    // return your example
})

withoutMiddleware

<?php

use App\Http\Middleware\FirstMiddleware;
use App\Http\Middleware\SecondMiddleware;
use Illuminate\Support\Facades\Route;

Route::prefix('my-prefix')
    ->middleware([
        FirstMiddleware::class,
        SecondMiddleware::class,
    ])
    ->group(function () {
        Route::get('my-route', function () {
            // Uses first & second middleware
        });
        Route::withoutMiddleware(FirstMiddleware::class)
            ->get('route-without-first-middleware', function () {
                // Uses second middleware
            });
        Route::withoutMiddleware(SecondMiddleware::class)
            ->get('route-without-second-middleware', function () {
                // Uses first middleware
            });
        Route::withoutMiddleware([
            FirstMiddleware::class,
            SecondMiddleware::class,
        ])->get('route-without-middleware', function () {
            // Uses no middleware
        }
    );
});

with Parameters

<?php

namespace App\Http\Middleware;

use Closure;

class EnsureUserHasRole
{
    public function handle($request, Closure $next, $role)
    {
        if (! $request->user()->hasRole($role)) {
            // Redirect...
        }

        return $next($request);

    }
}
<?php

use Illuminate\Support\Facades\Route;

Route::put('/post/{id}', function ($id) {
    //
})->middleware('role:editor');