شرح صفوف ومحتوى الفقرة
لمطابقة المسارات بدقة، افصل معاملات الاستعلام عن $_SERVER["REQUEST_URI"] باستخدام parse_url(..., PHP_URL_PATH) ووحّد الشرطة المائلة النهائية.
- تستخرج الدالة
parse_url("/tasks?page=2", PHP_URL_PATH)المسار النظيف"/tasks"بدون معاملات البحث. - وحّد المسار عبر
rtrim($path, "/") ?: "/"حتى يتطابق/tasks/و/tasksمع نفس المسار. - ادمج طريقة الطلب (
GETأوPOST) مع المسار للفصل بين عرض الصفحة وإرسال النموذج.
تمت إزالة معاملات الاستعلام والشرطة المائلة الزائدة لإنتاج مفتاح المسار النظيف "GET /articles/list".
PHP
<?php
$rawUri = '/articles/list/?page=3&sort=desc';
$method = $_SERVER['REQUEST_METHOD'] ?? 'GET';
$rawPath = (string) parse_url($rawUri, PHP_URL_PATH);
$path = rtrim($rawPath, '/') ?: '/';
$routeKey = "$method $path";
echo "Normalized Route Key: $routeKey\n";