Роутинг с именованными параметрами на PHP

Рассмотрим одно из регулярных выражений, обрабатывающих URL:

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

В данном случае получается, что наш параметр попадает в карман. Затем мы вытаскиваем значение параметра из кармана по его номеру:

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

Это на самом деле не очень красиво, особенно если параметров будет несколько. Более удачной идеей будет сделать параметры с именами вместо номеров. Для этого используем именованные карманы в нашей регулярке:

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

В таком случае мы сможем получить значение параметра по его имени:

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

Переделайте параметры в роутах вашего движка на именованные.