Маршрутизация с именувани параметри на 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'];
?>
Променете параметрите в маршрутите на вашия двигател на именувани.