Routes

Introduction

Pour commencer intéressons nous à la base du framework, les routes. En effet, toutes les urls étant redirigées vers le script index.php, il faut indiquer au router quel chemin appel quel contrôleur. Pour ce faire dans le dossier app , vous avez normalement un fichier routes.php, ouvrez le.

Vous devez trouver le code suivant (sans les commentaires):

/app/routes.php
return [
"/|any>home" => "MainController@Index",
];

Cette ligne (2) indique que lorsque l'url demandée est / et que la requête est de type GET ou POST (d'où le any) alors cette route est appelé home et la méthode Index du contrôleur MainController est appelée.

Attention le return et le [et ] au début et à la fin sont très importants. Ne pas oublier de séparer chaque route par une ,

Forme générale

On peut donc écrire une route plus généralement selon la forme :

"Chemin|type>nom" => "Contrôleur@methode"

Champ variable

Imaginons que vous souhaitez avoir une url avec un champ variable tel que l'id d'un article par exemple. Il faut alors faire comprendre au routeur que : /article/3 /article/78 redirige vers la même route. Pour ce faire on utilise les accolades { et } dans lesquelles on insère le nom du champ que l'on récupérera plus tard :

"/article/{id}|any>montrer_article" => "MyController@Montrer"

Tout espaces sera supprimé donc si votre nom de route est ma routealors son vrai nom sera maroute. Si vous souhaitez séparer deux mots utilisez alors le _ .

Redirection

Si vous souhaitez rediriger vos visiteurs vers une autre route alors vous devez taper :

"Chemin|type>nom" => "nom_route_a_rediriger"

Par exemple si on souhaite que les visiteurs de /oldpage soit redirigés vers /newpage.

"/newpage|any>new" => "MyController@new",
"/oldpage|any>old" => "new"

Toutes les redirections sont des redirections permanentes (301).

Last updated