Laravel offre tous les outils nécessaires pour effectuer une direction vers une autre page Web, que ce soit à l'aide de la fonction d'aide redirect() ou de la fonction d'aide back().
▼Publicité Le texte se poursuit plus bas
La fonction redirect() peut recevoir un paramètre pour lui indiquer à quel endroit elle doit effectuer la redirection.
Ce paramètre sera un URL relatif (ex : produits) ou absolu (ex : http://mondomaine.com/produits). La méthode d'action correspondant à cet URL, tel que précisé dans les routes, sera alors exécutée.
Par exemple, pour retourner à la liste des produits dont l'URL est http://mondomaine.com/produits :
return redirect('produits');
Pour retourner à la page d'accueil :
return redirect('/');
Pour retourner vers un URL quelconque :
return redirect()->away('https://undomaine.com/unepage.php');
Une autre façon de préciser la redirection consiste à faire suivre redirect() par une flèche puis une autre fonction.
Par exemple, pour retourner à la route nommée produits.index :
return redirect()->route('produits.index');
Si on a besoin de placer la page à un endroit précis, on pourra préciser le nom d'une ancre, par exemple https://mondomaine.com/produits#123 :
return redirect()->to(route('produits.index') . '#' . $produit->id);
Il est également possible de faire suivre des informations lors de la redirection :
Ex :
return redirect('produits')->with(['etatOperation' => 'success', 'messageFlash' => 'Le produit a été ajouté avec succès !']);
La fonction back(), qui est l'équivalent de redirect(url()->previous()), permet de retourner à la page précédente :
return back();
Tout comme avec redirect(), il est possible de faire suivre de l'information :
return back()->withInput();
« All about Redirects in Laravel 5 ». Laravel Daily. http://laraveldaily.com/all-about-redirects-in-laravel-5/
« HTTP Responses - Redirects ». Laravel. https://laravel.com/docs/master/responses#redirects
« Routes file: redirect “everything else” to homepage ». Laravel Daily. http://laraveldaily.com/routes-file-redirect-everything-else-to-homepage/
Site fièrement hébergé chez A2 Hosting.