Routování s pojmenovanými parametry v PHP

Podívejme se na jeden z regulárních výrazů, které zpracovávají URL:

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

V tomto případě se stane, že náš parametr skončí v zachytávací skupině. Poté hodnotu parametru získáme z této skupiny podle jeho čísla:

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

To ve skutečnosti není příliš elegantní, zvlášť když bude parametrů více. Lepší nápad je vytvořit parametry s jmény namísto čísel. K tomu použijeme pojmenované zachytávací skupiny v našem regulárním výrazu:

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

V takovém případě budeme moci získat hodnotu parametru podle jeho jména:

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

Přepracujte parametry v routech vašeho enginu na pojmenované.