Routing con parametri nominati in PHP

Consideriamo una delle espressioni regolari che elaborano l'URL:

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

In questo caso, il nostro parametro finisce in un gruppo di cattura. Successivamente estraiamo il valore del parametro dal gruppo di cattura in base al suo numero:

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

In realtà, questo non è molto elegante, specialmente se ci sono diversi parametri. Un'idea migliore sarebbe avere parametri con nomi invece che numeri. Per fare ciò, utilizziamo i gruppi di cattura nominati nella nostra espressione regolare:

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

In questo caso, possiamo ottenere il valore del parametro in base al suo nome:

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

Rielaborate i parametri nelle rotte del vostro motore utilizzando quelli nominati.