3 أساسيات Laravel 11: Middleware

يوفر Middleware آلية مريحة لفحص وتصفية طلبات HTTP التي تدخل تطبيقك. يتضمن Laravel middleware للعديد من المهام مثل المصادقة وحماية CSRF. سيغطي هذا البرنامج التعليمي أساسيات إنشاء واستخدام middleware في Laravel 11.
مقدمة عن Middleware
يمكن اعتبار Middleware كطبقات تمر عبرها طلبات HTTP قبل أن تصل إلى تطبيقك. يمكن لكل طبقة فحص وحتى رفض الطلبات.
تعريف Middleware
لإنشاء Middleware جديد، استخدم أمر Artisan make:middleware
:
php artisan make:middleware EnsureTokenIsValid
ينشئ هذا الأمر فئة EnsureTokenIsValid
جديدة في دليل app/Http/Middleware
. إليك مثال على Middleware الذي يتحقق من صحة الرمز:
namespace App\Http\Middleware;
use Closure;
class EnsureTokenIsValid
{
public function handle($request, Closure $next)
{
if ($request->input('token') !== 'my-secret-token') {
return redirect('home');
}
return $next($request);
}
}
تسجيل Middleware
لتسجيل Middleware الخاص بك، أضفه إلى ملف app/Http/Kernel.php
. يمكنك تسجيل Middleware كـ global أو group أو route middleware.
Middleware العالمية
يتم تشغيل Middleware العالمية على كل طلب HTTP لتطبيقك:
protected $middleware = [
\App\Http\Middleware\EnsureTokenIsValid::class,
// Middleware أخرى
];
تعيين Middleware إلى المسارات
يمكنك أيضًا تعيين Middleware إلى مسارات محددة في ملف routes/web.php
:
use App\Http\Middleware\EnsureTokenIsValid;
Route::get('/profile', function () {
// الكود الخاص بك هنا
})->middleware(EnsureTokenIsValid::class);
مجموعات Middleware
في بعض الأحيان قد ترغب في تجميع عدة Middleware تحت مفتاح واحد لجعلها أسهل في التعيين إلى المسارات. إليك كيفية تعريف مجموعات Middleware:
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
// Middleware أخرى
],
'api' => [
'throttle:api',
'bindings',
],
];
تعرف على المزيد حول Middleware في Laravel من التوثيق الرسمي لـ Laravel.
خاتمة
يعد Middleware أداة قوية لتصفية طلبات HTTP في تطبيقات Laravel. غطى هذا البرنامج التعليمي كيفية إنشاء وتسجيل واستخدام Middleware في Laravel 11. لمزيد من المعلومات التفصيلية، راجع التوثيق الرسمي لـ Laravel.
تمنياتنا ببرمجة سعيدة مع Laravel 11!
ناقش مشروعك معنا
نحن هنا للمساعدة في احتياجات تطوير الويب الخاصة بك. حدد موعدًا لمناقشة مشروعك وكيف يمكننا مساعدتك.
دعنا نجد أفضل الحلول لاحتياجاتك.