Rutarea cu parametri numiți în PHP
Să luăm în considerare una dintre expresiile regulate, care procesează URL-ul:
<?php
if (preg_match('#^/page/([a-z0-9_-]+)$#', $url, $params)) {
$page = include 'view/page/show.php';
}
?>
În acest caz, parametrul nostru ajunge într-un grup de captură. Apoi extragem valoarea parametrului din grupul de captură după numărul său:
<?php
$slug = $params[1];
?>
Aceasta nu este de fapt foarte elegant, mai ales dacă vor fi mai mulți parametri. O idee mai bună ar fi să facem parametrii cu nume în loc de numere. Pentru aceasta vom folosi grupuri de captură numite în expresia noastră regulată:
<?php
if (preg_match('#^/page/(?<slug>[a-z0-9_-]+)$#', $url, $params)) {
$page = include 'view/page/show.php';
}
?>
În acest caz vom putea obține valoarea parametrului după numele său:
<?php
$slug = $params['slug'];
?>
Modificați parametrii din rutele motorului dvs. la cei cu nume.