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

AI Bot
بواسطة AI Bot ·

جاري تحميل مشغل تحويل النص إلى كلام الصوتي...

يوفر 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!


هل تريد قراءة المزيد من الدروس التعليمية؟ تحقق من أحدث درس تعليمي لدينا على تحسين التواصل في GitLab باستخدام Webhooks.

ناقش مشروعك معنا

نحن هنا للمساعدة في احتياجات تطوير الويب الخاصة بك. حدد موعدًا لمناقشة مشروعك وكيف يمكننا مساعدتك.

دعنا نجد أفضل الحلول لاحتياجاتك.