المدونة مدونة المهندس محمد خطيب

ما هي middleware في لارافل

ma-hy-middleware-fy-larafl

يُعد Laravel إطار عمل PHP شهيرًا يستخدم لتطوير تطبيقات الويب عالية الجودة والأداء. يوفر Laravel العديد من الميزات والأدوات التي تجعل عملية تطوير التطبيقات أسهل وأسرع. من بين هذه الميزات هي Middleware.

في Laravel، يُعرف Middleware على أنه طبقة من التعليمات البرمجية التي تسمح بتصفية طلبات HTTP الواردة إلى التطبيق قبل أن تصل إلى المسار المطلوب. يتم استخدام Middleware للتحقق من صحة البيانات والتحقق من الصلاحيات وتنظيم الوصول إلى الموارد وغيرها من الأشياء التي يمكن تنفيذها قبل تنفيذ الطلب الفعلي.

فائدة Middleware في Laravel

توفر Middleware في Laravel فائدة كبيرة للمطورين حيث تسمح لهم بتصفية طلبات HTTP الواردة إلى التطبيق والتحقق من صحة البيانات والتحقق من صلاحيات المستخدمين والتحقق من الوصول إلى الموارد والتحكم في الجلسات والتحكم في اللغة وغيرها من الأشياء التي يمكن تنفيذها قبل تنفيذ الطلب الفعلي.

كيفية إنشاء Middleware في Laravel

يمكن إنشاء Middleware في Laravel بسهولة باستخدام أمر Artisan. يتم تنفيذ الأمر التالي:


php artisan make:middleware MyMiddleware


ستتم إضافة Middleware جديدة تحت مجلد "app/Http/Middleware". سيتم إنشاء ملف PHP للـ Middleware الجديدة تحت هذا المجلد.

كيفية استخدام Middleware في Laravel

بعد إنشاء Middleware في Laravel، يمكن استخدامها بسهولة في التطبيق. يجب على المطور تعريف Middleware في ملف "app/Http/Kernel.php"، والذي يحتوي على مصفوفة "$middleware". يجب على المطور إضافة اسم Middleware الجديدة إلى هذه المصفوفة.


protected $middleware = [

\App\Http\Middleware\MyMiddleware::class,
];


بعد ذلك، يمكن استخدام Middleware في أي طريقة تحتاج إلى تصفية الطلبات HTTP. يمكن استخدام Middleware في وسيطة التوجيه (Route Middleware)، والتي تُعرف عن طريق إضافة اسم Middleware إلى مصفوفة "middleware" في المسار المطلوب.


Route::get('/', function () {

//
})->middleware(['MyMiddleware']);


استخدام Middleware في Laravel يساعد على تحسين أداء التطبيق وتحسين الأمان وتحسين تجربة المستخدم. يمكن استخدام Middleware لأغراض مختلفة، مثل التحقق من صلاحيات المستخدمين والتحقق من صحة البيانات وتحديد لغة المستخدم وغيرها من الأشياء التي يمكن تنفيذها قبل تنفيذ الطلب الفعلي.