Útválasztás elnevezett paraméterekkel PHP-ben

Nézzünk meg egy olyan reguláris kifejezést, ami URL-eket dolgoz fel:

index.php<?php
  if (preg_match('#^/page/([a-z0-9_-]+)$#', $url, $params)) {
    $page = include 'view/page/show.php';
  }
?>

Ebben az esetben az történik, hogy a paraméterünk egy zárójelcsoportba (capturing group) kerül. Majd a paraméter értékét a sorszáma alapján hívjuk elő a zárójelcsoportból:

view/page/show.php<?php
  $slug = $params[1];
?>

Ez valójában nem túl szép, különösen ha több paraméter is lesz. Egy jobb ötlet lenne elnevezett paramétereket használni a sorszámok helyett. Ehhez használjunk elnevezett zárójelcsoportokat a reguláris kifejezésünkben:

index.php<?php
  if (preg_match('#^/page/(?<slug>[a-z0-9_-]+)$#', $url, $params)) {
    $page = include 'view/page/show.php';
  }
?>

Ebben az esetben a paraméter értékét a neve alapján tudjuk megkapni:

view/page/show.php<?php
  $slug = $params['slug'];
?>
Задание 1

Alakítsa át a motorja útvonalaiban (route) a paramétereket elnevezettekre.