Enrutamiento con parámetros nombrados en PHP
Consideremos una de las expresiones regulares que procesan URL:
<?php
if (preg_match('#^/page/([a-z0-9_-]+)$#', $url, $params)) {
$page = include 'view/page/show.php';
}
?>
En este caso resulta que nuestro parámetro entra en el grupo de captura. Luego extraemos el valor del parámetro del grupo de captura por su número:
<?php
$slug = $params[1];
?>
Esto en realidad no es muy elegante, especialmente si hay varios parámetros. Una idea más acertada sería hacer parámetros con nombres en lugar de números. Para ello usemos grupos de captura nombrados en nuestra expresión regular:
<?php
if (preg_match('#^/page/(?<slug>[a-z0-9_-]+)$#', $url, $params)) {
$page = include 'view/page/show.php';
}
?>
En tal caso podremos obtener el valor del parámetro por su nombre:
<?php
$slug = $params['slug'];
?>
Convierta los parámetros en las rutas de su motor a parámetros nombrados.