Routing med navngivne parametre i PHP
Lad os overveje et af de regulære udtryk, der behandler URL:
<?php
if (preg_match('#^/page/([a-z0-9_-]+)$#', $url, $params)) {
$page = include 'view/page/show.php';
}
?>
I dette tilfælde viser det sig, at vores parameter ender i en lomme. Derefter henter vi værdien af parameteren fra lommen ved hjælp af dens nummer:
<?php
$slug = $params[1];
?>
Dette er faktisk ikke særlig pænt, især hvis der er flere parametre. En bedre ide ville være at lave parametre med navne i stedet for numre. For at gøre dette bruger vi navngivne lommer i vores regulære udtryk:
<?php
if (preg_match('#^/page/(?<slug>[a-z0-9_-]+)$#', $url, $params)) {
$page = include 'view/page/show.php';
}
?>
I dette tilfælde kan vi hente værdien af parameteren ved hjælp af dens navn:
<?php
$slug = $params['slug'];
?>
Omkonverter parametrene i din motors ruter til navngivne.