leminhluan4244 / aptech-laravel-ecommerce-demo

0 stars 0 forks source link

Middleware #5

Open leminhluan4244 opened 3 weeks ago

leminhluan4244 commented 3 weeks ago

Câu lệnh:

php artisan make:middleware XinChaoMiddleware

Khi sử dụng middleware thì hàm handle luôn được chạy

Bên trong hàm handle hàm $next($request); cho phép request đi tiếp đến Controller

leminhluan4244 commented 3 weeks ago

Tham khảo tài liệu gốc ở: Link

leminhluan4244 commented 3 weeks ago

Có thể đặt tên cho middleware trong file: app\Http\Kernel.php

protected $routeMiddleware = [
    'auth' => \App\Http\Middleware\Authenticate::class,
    'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
    'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
    'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
    'can' => \Illuminate\Auth\Middleware\Authorize::class,
    'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
    'password.confirm' => \Illuminate\Auth\Middleware\RequirePassword::class,
    'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class,
    'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
    'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
    'admin' => \App\Http\Middleware\AdminMiddleware::class,
    'user' => \App\Http\Middleware\UserMiddleware::class,
];

Sử dụng :

Thay vì viết:

use App\Http\Middleware\UserMiddleware;

class HomeController extends Controller
{
    /**
     * Get the middleware that should be assigned to the controller.
     */
    public static function middleware(): array
    {
        return [
            'auth',
            UserMiddleware::class,
        ];
    }
}

Có thể viết:

class HomeController extends Controller
{
    /**
     * Get the middleware that should be assigned to the controller.
     */
    public static function middleware(): array
    {
        return [
            'auth',
            'user',
        ];
    }
}