Ruting med navngitte parametere i PHP

La oss se på et av regulære uttrykkene som behandler URL:

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

I dette tilfellet viser det seg at parameteren vår havner i en lomme. Deretter henter vi verdien til parameteren fra lommen etter dens nummer:

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

Dette er faktisk ikke veldig elegant, spesielt hvis det vil være flere parametere. En bedre idé ville være å lage parametere med navn i stedet for numre. For å gjøre dette bruker vi navngitte lommer i vårt regulære uttrykk:

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

I så fall kan vi hente verdien til parameteren etter dens navn:

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

Gjør om parameterne i rutene til din motor til å være navngitte.