Roteamento com parâmetros nomeados em PHP

Vamos considerar uma das expressões regulares que processam URL:

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

Neste caso, acontece que nosso parâmetro vai para a captura. Em seguida, extraímos o valor do parâmetro da captura pelo seu número:

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

Isso, na verdade, não é muito elegante, especialmente se houver vários parâmetros. Uma ideia mais bem-sucedida seria fazer parâmetros com nomes em vez de números. Para isso, usamos capturas nomeadas na nossa regex:

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

Nesse caso, poderemos obter o valor do parâmetro pelo seu nome:

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

Altere os parâmetros nas rotas do seu mecanismo para nomeados.