Роутинг бо Параметрҳои Номдор дар 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'];
?>
Параметрҳоро дар роутҳои муҳаррики худ ба номдор табдил диҳед.