Routage avec paramètres nommés en PHP

Examinons l'une des expressions régulières, traitant les URL :

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

Dans ce cas, il s'avère que notre paramètre se retrouve dans une capture. Ensuite, nous extrayons la valeur du paramètre de la capture par son numéro :

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

Ce n'est en réalité pas très élégant, surtout s'il y a plusieurs paramètres. Une idée plus judicieuse serait de créer des paramètres avec des noms au lieu de numéros. Pour cela, utilisons des captures nommées dans notre expression régulière :

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

Dans ce cas, nous pourrons obtenir la valeur du paramètre par son nom :

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

Reconcevez les paramètres dans les routes de votre moteur en utilisant des paramètres nommés.