Рутирање са именованим параметрима на PHP
Размотримо један од регуларних израза, који обрађује URL:
<?php
if (preg_match('#^/page/([a-z0-9_-]+)$#', $url, $params)) {
$page = include 'view/page/show.php';
}
?>
У овом случају испада да наш параметар завршава у групи. Затим вадимо вредност параметра из групе по његовом броју:
<?php
$slug = $params[1];
?>
То у ствари није баш лепо, нарочито ако параметара буде више. Успешнија идеја би била да направимо параметре са именима уместо бројева. За то користимо именоване групе у нашем регуларном изразу:
<?php
if (preg_match('#^/page/(?<slug>[a-z0-9_-]+)$#', $url, $params)) {
$page = include 'view/page/show.php';
}
?>
У том случају ћемо моћи да добијемо вредност параметра по његовом имену:
<?php
$slug = $params['slug'];
?>
Промените параметре у вашим рутама покретача на именоване.