Maršrutēšana ar nosauktiem parametriem PHP
Apskatīsim vienu no regulārajām izteiksmēm, kas apstrādā URL:
<?php
if (preg_match('#^/page/([a-z0-9_-]+)$#', $url, $params)) {
$page = include 'view/page/show.php';
}
?>
Šajā gadījumā iznāk, ka mūsu parametrs iekrīt kabatā. Tad mēs izņemam parametra vērtību no kabatas pēc tā numura:
<?php
$slug = $params[1];
?>
Patiesībā tas nav īpaši glīti, it īpaši, ja parametru būs vairāki. Veiksmīgāka ideja būtu izveidot parametrus ar vārdiem nevis numuriem. Lai to izdarītu, izmantosim nosauktās kabatas mūsu regulārajā izteiksmē:
<?php
if (preg_match('#^/page/(?<slug>[a-z0-9_-]+)$#', $url, $params)) {
$page = include 'view/page/show.php';
}
?>
Šādā gadījumā mēs varēsim iegūt parametra vērtību pēc tā nosaukuma:
<?php
$slug = $params['slug'];
?>
Pārveidojiet parametrus savā dzinī maršutos uz nosauktajiem.