انتقل إلى محتوى الدرس

Dispatching Routes with PHP 8 match توجيه المسارات إلى المتحكمات عبر تعبير match

نظّم مشروع تطبيق ويب احترافي في PHP 8 بفصل مجلد public عن الكود المصدري وإدارة إعدادات البيئة وبناء موجه مركزي للروابط.
1 صفوف تعليمية
PHP
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

يوفر تعبير match في PHP 8 موجهاً سريعاً وصارماً يربط مفاتيح "METHOD /path" بالمتحكمات ويعالج حالة 404 Not Found بوضوح.

  • يربط كل مسار في match زوج الطريقة والمسار بالمتحكم المسؤول عنه.
  • يضبط المسار الافتراضي default رمز الحالة http_response_code(404) ويعرض صفحة 404 مخصصة.
  • يبقي التطبيقات الصغيرة والمتوسطة سريعة وسهلة التتبع.

لأن مفتاح المسار يتطابق بصرامة مع "POST /login"، يوجه الموجه الطلب إلى AuthController::authenticate.

PHP
<?php
$routeKey = 'POST /login';

$response = match ($routeKey) {
    'GET /' => 'HomeController::index',
    'GET /login' => 'AuthController::showLogin',
    'POST /login' => 'AuthController::authenticate',
    default => 'ErrorController::notFound404',
};

echo "Dispatched Handler: $response\n";