Reititys nimetyillä parametreilla PHP:llä
Tarkastellaan yhtä säännöllisistä lausekkeista, joka käsittelee URL-osoitetta:
<?php
if (preg_match('#^/page/([a-z0-9_-]+)$#', $url, $params)) {
$page = include 'view/page/show.php';
}
?>
Tässä tapauksessa parametrimme päätyy kaappiin. Sitten poimimme parametrin arvon kaapista sen numeron perusteella:
<?php
$slug = $params[1];
?>
Tämä ei itse asiassa ole kovin kaunista, erityisesti jos parametreja on useita. Parempi idea olisi tehdä parametreista nimetyt numeroiden sijaan. Käytämme tähän nimettyjä kaappeja säännöllisessä lausekkeessamme:
<?php
if (preg_match('#^/page/(?<slug>[a-z0-9_-]+)$#', $url, $params)) {
$page = include 'view/page/show.php';
}
?>
Tällöin voimme saada parametrin arvon nimen perusteella:
<?php
$slug = $params['slug'];
?>
Muuta moottorisi reittien parametrit nimetyiksi.