Controller middleware

2024-09-07 وقت القراءه : أقل من دقيقة

في الإصدارات السابقة، كنا نطبق middleware بداخل controller من خلال إستخدام __construct()

class CourseController extends Controller
{
    public function __construct()
    {
        $this->middleware('permission:courses', ['only' => ['index']]);
        $this->middleware('permission:add_course', ['only' => ['create', 'store']]);
        $this->middleware('permission:edit_course', ['only' => ['edit', 'update', 'updateStatus']]);
        $this->middleware('permission:delete_course', ['only' => ['destroy']]);
    }
}


بينما في Laravel 11 نحتاج لإستخدام دالة middleware وكذلك ان يجب عمل implements hasMiddleware

class UserController extends Controller implements hasMiddleware
{
    public static function middleware(): array
    {
        return [
            new Middleware('permission:users', only: ['index']),
            new Middleware('add_course', only: ['only' => ['index']]),
        ];
    }
}



إضافة تعليق
Loading...