Middleware

A layer that runs before routes.

AuthMiddleware.php

app/Middleware/AuthMiddleware.php
namespace App\Middleware;
use App\Core\Middleware;

class AuthMiddleware extends Middleware
{
    public function handle(): void
    {
        if (!auth()->check()) {
            redirect('/login');
        }
        $this->next();
    }
}

Assigning to Routes

config/routes.php
Router::get('/admin', 'AdminController@index', [
    'middleware' => \App\Middleware\AuthMiddleware::class
]);

Router::group(['middleware' => \App\Middleware\AuthMiddleware::class], function () {
    Router::get('/dashboard', 'DashboardController@index');
    Router::get('/profile',   'ProfileController@show');
});