Fabrice Planchette

Améliorer la lisibilité de son code sous Laravel avec quelques helpers

Mar 9, 2021

Les helpers sous Laravel ne sont que des fonctions “raccourcis” mais qui permettent, à mon sens, d’améliorer grandement la lisibilité du code.

Lever une exception HTTP

Si tu as besoin de lever une exception (403, 404, …) dans ton controller, Laravel dispose de la fonction abort qui s’utilise comme ceci :

if ($some_condition) {
    abort(403, 'Unauthorized action.');
}

Mais pour aller un petit plus loin, il existe aussi abort_if qui diminue le nombre de ligne de code :

abort_if($some_condition, 403, 'Unauthorized action.');

Il existe également son “contraire”, à savoir abort_unless que j’aurais tendance à déconseiller car cela provoque une lecture en double négation par très lisible à mon gout.

Faire une redirection HTTP

Voici la fonction la plus lisible pour générer une redirection HTTP et dans l’optique de ne pas passer par la facade Redirect :

return redirect('/path/to');

Et si tu veux juste renvoyer l’utilisateur d’où il vient (par exemple sur l’update d’une ressource), tu as la fonction back()

return back();

Je te laisse consulter la documentation Laravel sur les redirections pour voir toutes les possibilités derrière ses fonctions.

Récupérer la date courante

Laravel utilise le package Carbon pour facilement manipuler les dates et donc les objets Datetime. Mais là encore, plutôt que de passer par la facade Date ou encore la classe Carbon (que cela soit celle du package ou celle dans le namespace Support d’ailleurs), Laravel fournit 2 helpers renvoyant des instances :

  • now() pour une instance initialisée à la seconde près,
  • today() pour une instance sur la date du jour.