Voici ce que je fais actuellement :
J'ai un $path
qui est tout ce qui se trouve après index.php/ (que je cache avec .htaccess) jusqu'à un point d'interrogation pour ignorer la chaîne de recherche.
Ensuite, j'utilise un switch
con preg_match
sur cette variable pour déterminer quel script il doit appeler. Par exemple :
switch (true)
{
case preg_match('{products/view/(?P<id>\d+)/?}', $path, $params):
require 'view_product.php';
break;
...
default:
require '404.php';
break;
}
De cette façon, je peux accéder à l'identifiant du produit en utilisant simplement $params['id']
et, si nécessaire, utiliser la chaîne de recherche pour le filtrage, la pagination, etc.
Y a-t-il quelque chose de mal dans cette approche ?