Роўтынг з іменнымі параметрамі на 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'];
?>
Перарабіце параметры ў роўтах вашага рухавіка на іменныя.