Ich habe Probleme zu begreifen, was wäre die richtige Art der Behandlung RESTful URLs.Umgang mit RESTful URLs PHP
Ich habe URLs wie diese:
http://localhost/products
http://localhost/products/123
http://localhost/products/123/color
Ursprünglich:
http://localhost/index.php?handler=products&productID=123&additional=color
Was jetzt bin ich mit mod_rewrite:
RewriteRule ^([^/]*)([/])?([^/]*)?([/])?(.*)$ /index.php?handler=$1&productID=$3&additional=$5 [L,QSA]
Und dann bin ich rätselhaft zusammen die Anfragen in index.php, etwas wie:
if ($_GET['handler'] == 'products' && isset($_GET['productID'])) {
// get product by its id.
}
Ich habe einige gesehen eine GET-Abfrage als eine Zeichenfolge wie das Erstellen:
if ($_GET['handler'] == 'products/123/color')
Dann tun Sie zum Beispiel reguläre Ausdrücke verwenden, um die Werte aus dem Abfrage-String zu erhalten?
Ist dies ein besserer Ansatz, um diese URLs zu behandeln? Was sind die Vor- und Nachteile dieser verschiedenen Ansätze? Gibt es einen besseren Weg?
'' Deshalb mag ich diese Arten von URLs nicht.Positionsparms wie diese sind nicht so einfach zu verarbeiten wie Name/Wert-Parameter. ' '. –