Middleware في البرمجة واستخداماتها العملية

x32x01
  • بواسطة x32x01 ||

سؤال انترفيو: يعني إيه Middleware؟ 🤔​

من أكتر أسئلة الانترفيو اللي بتيجي لأي Backend Developer 👇
يعني إيه Middleware؟

الإجابة ببساطة: Middleware هي طبقات أو فلاتر بتمر عليها الـ Request قبل ما توصل للـ Controller، وأحيانًا بعد ما الـ Response يطلع منه.
📌 تخيّلها زي حراس أمن أي طلب داخل التطبيق لازم يعدّي عليهم الأول 👮‍♂️


استخدامات Middleware غير الـ Auth 🔐❌​

ناس كتير فاكرة إن الـ Middleware شغلتها بس المصادقة (Auth) بس الحقيقة؟ استخداماتها أوسع بكتير جدًا 🔥
خلّينا نشوف أهم الاستخدامات العملية 👇


تنقية المدخلات (Input Sanitization) ✨​

واحد من أشهر الاستخدامات إنك تعمل Middleware ينضّف الداتا اللي جاية من المستخدم.
زي مثلًا:
  • يشيل المسافات الزيادة
  • يمنع إدخال قيم غريبة

مثال Laravel Middleware:​

PHP:
public function handle($request, Closure $next)
{
    $request->merge(array_map('trim', $request->all()));
    return $next($request);
}
📌 كده أي نص داخل الـ Request هيبقى نضيف قبل ما يوصل للكود الأساسي.


التعامل مع CORS في الـ APIs 🌐​

لو بتشتغل APIs أكيد قابلتك مشكلة CORS 😅 Middleware هنا حل عبقري.
تقدر من خلالها:
  • تسمح بطلبات من Domains معينة
  • تضيف Headers جاهزة

مثال بسيط:​

PHP:
$response = $next($request);
$response->headers->set('Access-Control-Allow-Origin', '*');
$response->headers->set('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE');
return $response;
📌 مهم جدًا لأي Frontend شغال مع Backend API.


تسجيل الطلبات (Logging) 📝​

محتاج تعرف:
  • مين بعت Request؟
  • إمتى؟
  • على أي Endpoint؟
Middleware تقدر تسجل كل ده بسهولة.
PHP:
Log::info('API Request', [
    'url' => $request->url(),
    'method' => $request->method(),
    'ip' => $request->ip()
]);
📌 مفيد جدًا:
  • في Debugging
  • في Security
  • في مراجعة النشاطات


تحديد لغة التطبيق (Localization) 🌍​

لو التطبيق Multi-language Middleware تقدر تقرأ اللغة من الـ Header وتحدد لغة السيستم.
PHP:
$locale = $request->header('Accept-Language', 'en');
App::setLocale($locale);
📌 كده التطبيق يشتغل تلقائي حسب لغة المستخدم.


تحديد عدد الطلبات (Rate Limiting) 🚫⚡​

من أهم استخدامات الـ Middleware حماية الـ API من:
  • Brute Force
  • Spam
  • استخدام مفرط
Laravel مثلًا بيدعم ده بسهولة.
PHP:
Route::middleware('throttle:60,1')->group(function () {
    Route::get('/api/data', 'ApiController@index');
});
📌 60 Request في الدقيقة لكل User.


وضع الصيانة (Maintenance Mode) 🛠️​

أحيانًا:
  • بتعمل تحديثات
  • بتصلّح Bugs
  • بتعيد هيكلة المشروع
Middleware تقدر:
  • تمنع كل المستخدمين
  • وتسمح للمطورين بس
PHP:
if (!auth()->user() || !auth()->user()->is_admin) {
    abort(503, 'Site under maintenance');
}
📌 تجربة احترافية بدل ما الموقع يقع فجأة.


ليه الـ Middleware مهمة في المشاريع الكبيرة؟ 🧠​

  • بتنضّم الكود
  • بتقلل التكرار
  • بتخلي الـ Controller نضيف
  • بتسهّل الصيانة والتطوير
📌 أي مشروع محترم لازم يستخدم Middleware صح.


الخلاصة 👇🔥​

🔹 الـ Middleware مش بس Auth
🔹 هي قلب التحكم في أي Backend
🔹 بتستخدم في:
  • Security
  • Performance
  • Logging
  • APIs
  • User Experience
لو فهمتها صح؟ هتفرق جامد في شغلك وفي أي انترفيو 💪😎
 
المواضيع ذات الصلة
x32x01
الردود
0
المشاهدات
800
x32x01
x32x01
x32x01
الردود
0
المشاهدات
340
x32x01
x32x01
x32x01
الردود
0
المشاهدات
951
x32x01
x32x01
x32x01
الردود
0
المشاهدات
917
x32x01
x32x01
x32x01
الردود
0
المشاهدات
212
x32x01
x32x01
الدخول أو التسجيل السريع
نسيت كلمة مرورك؟
إحصائيات المنتدى
المواضيع
2,275
المشاركات
2,487
أعضاء أكتب كود
547
أخر عضو
exozonlyperson
عودة
أعلى