Contraintes d’expressions régulières pour les paramètres de route Laravel
Contraintes d’expressions régulières pour les paramètres de route Laravel
-
Objectifs
- Connaitre le système de routage Laravel
-
Présentation
- vous pouvez utiliser des expressions régulières (regex) pour définir qu’une route ne doit correspondre que si un le paramètre répond à des exigences particulières
- Les contraintes de route vous permettent de limiter la correspondance entre les paramètres du modèle de route. La syntaxe générale est
{paramètre: contrainte}
. -
Méthodes utilisées
-
Anciennes méthodes d’enregistrement de regex de route
- Dans la plupart des projets qui implémentaient la fonctionnalité de restriction, vous voyez du code comme celui-ci.
-
Route::get('apprenants/{cin}', 'ApprenantController@liste') ->where(['cin' => '[0-9]+']);
-
Route::get('apprenants/{nom}', 'ApprenantController@liste') ->where(['cin' => '[a-zA-Z]+']);
-
Nouvelles méthodes d’enregistrement de regex de route
- Dans la prochaine version 8.12.x de laravel, une méthode sera ajoutée qui vous fera économiser plusieurs lignes de code si vous définissez des restrictions sur vos itinéraires.
Route::get('/apprenants/liste{nom}',function($cin){
return view('apprenants/index'.$nom);
})->where(['nom' => '[a-zA-Z]+']);
Méthode | Regex |
---|---|
whereNumber | [0-9]+ |
whereAlpha | [a-zA-Z]+ |
whereUuid | [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12} |