Tag cloud
lithium loi wordpress filezilla blog outils MySQL pense-bête développement web productivité php behavior stage routes débogage motivation conception scrum mvc cakefest pierre martin web framework open source ASP.NET communauté CakePHP xhtml logiciel twitter migration astuce ie6 css conférences jsf java Méthode référencement
-
Kalt


Gérer un retour vers la page précédente : Controller::referer()
CakePHP est livré avec un grand nombre de fonctions utiles qu’il faut découvrir. En tant que développeurs, vous avez j’imagine déjà dû mettre en place un lien « Retour » ou quelque chose du genre n’est-ce pas ?
Le problème posé est souvent : comment retourner proprement a une page qui a des paramètres (exemple la pagination de CakePHP), comment ne pas faire « ressortir » le visiteur ayant atterri sur cette page, comment rendre ma bidouille plus propre …
La réponse grâce à CakePHP : Controller::referer()
Plusieurs solutions existent et sur lesquelles on peut se baser :
Je me propose ici de vous présenter la méthode Controller::referer() livrée avec Cake … tout simplement car je la trouve géniale !
La signature de la méthode
Pour savoir comment appeler la méthode, voici la signature de la fonction :
Paramètres :
Retour :
Une utilisation possible
Et voici la portion de code qui explique comment faire :
L’utilisateur sera redirigé vers la page d’où il vient quels que soient les paramètres de celle-ci (en $_GET), sauf si il vient d’un site externe. Dans ce cas il ira vers la page par défaut i.e l’action « index ».
Pour finir, quelques applications utiles :
Pour aller plus loin
De la même manière, dans un espace d’édition d’enregistrement vous pouvez utiliser cette méthode en la combinant aux sessions. Pour en savoir plus, je vous invite à visiter l’article Revenir à la bonne page après l’édition d’un enregistrement sur Formation Cakephp.