Routing z nazwanymi parametrami w PHP

Rozważmy jedno z wyrażeń regularnych, przetwarzających URL:

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

W tym przypadku okazuje się, że nasz parametr trafia do kieszeni. Następnie wyciągamy wartość parametru z kieszeni po jego numerze:

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

To w rzeczywistości nie jest zbyt ładne, szczególnie jeśli parametrów będzie kilka. Lepszym pomysłem będzie zrobić parametry z nazwami zamiast numerów. W tym celu użyjemy nazwanych kieszeni w naszej regularce:

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

W takim przypadku będziemy mogli uzyskać wartość parametru po jego nazwie:

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

Przerób parametry w routach twojego silnika na nazwane.