Routing me Parametra të Emërtuar në PHP
Le të shqyrtojmë një nga shprehjet e rregullta, që përpunojnë URL:
<?php
if (preg_match('#^/page/([a-z0-9_-]+)$#', $url, $params)) {
$page = include 'view/page/show.php';
}
?>
Në këtë rast del se parametri ynë bie në "capturing group". Pastaj ne e nxjerrim vlerën e parametrit nga "capturing group" sipas numrit të tij:
<?php
$slug = $params[1];
?>
Kjo në fakt nuk është shumë e mirë, veçanërisht nëse do të ketë disa parametra. Një ide më e mirë do të ishte të bënim parametrat me emra në vend të numrave. Për këtë do të përdorim "named capturing groups" në shprehjen tonë të rregullt:
<?php
if (preg_match('#^/page/(?<slug>[a-z0-9_-]+)$#', $url, $params)) {
$page = include 'view/page/show.php';
}
?>
Në këtë rast ne do të mund të merrnim vlerën e parametrit sipas emrit të tij:
<?php
$slug = $params['slug'];
?>
Rindërtoni parametrat në "route"-et e motorit tuaj në të emërtuar.