Δρομολόγηση με Ονομαστικές Παραμέτρους σε PHP
Ας εξετάσουμε μια από τις κανονικές εκφράσεις που επεξεργάζονται το URL:
<?php
if (preg_match('#^/page/([a-z0-9_-]+)$#', $url, $params)) {
$page = include 'view/page/show.php';
}
?>
Σε αυτήν την περίπτωση, η παράμετρός μας εμπίπτει σε μια "θήκη" (capturing group). Στη συνέχεια, εξάγουμε την τιμή της παραμέτρου από τη "θήκη" βάσει του αριθμού της:
<?php
$slug = $params[1];
?>
Αυτό στην πραγματικότητα δεν είναι πολύ καλό, ειδικά αν υπάρχουν πολλές παράμετροι. Μια καλύτερη ιδέα θα ήταν να χρησιμοποιήσουμε παραμέτρους με ονόματα αντί για αριθμούς. Για να το κάνουμε αυτό, θα χρησιμοποιήσουμε ονομασμένες "θήκες" στην κανονική μας έκφραση:
<?php
if (preg_match('#^/page/(?<slug>[a-z0-9_-]+)$#', $url, $params)) {
$page = include 'view/page/show.php';
}
?>
Σε αυτήν την περίπτωση, μπορούμε να πάρουμε την τιμή της παραμέτρου από το όνομά της:
<?php
$slug = $params['slug'];
?>
Μετατρέψτε τις παραμέτρους στις διαδρομές της μηχανής σας σε ονομαστικές.