Errores condicionales - Laravel

En Laravel tenemos una forma muy conveniente de retornar una respuesta de error en nuestra aplicación, utilizando el helper abort(). Veamos algunas otras maneras de generar este tipo de respuestas.

Digamos que quieres limitar el acceso a ciertas funcionalidades de la aplicación, solo a usuarios de tipo «admin», y si algún otro usuario intenta acceder, entonces deberás devolver un error de autorización.

Utilizando el helper abort()

<?php
if (! Auth::user()->isAdmin()) {
    abort(403);
}

Aunque no hay nada de malo con esta aproximación, podemos utilizar otro helper muy útil para eliminar el uso del condicional y reducir el código a una sola línea.

Utilizando el helper abort_if()

<?php
abort_if(! Auth::user()->isAdmin());

Este método, como puedes ver, es un poco más conveniente, aunque sigue siendo extraño, la forma en como se lee: «Aborta si  el usuario autenticado NO es admin».

Utilizando el helper abort_unless()

<?php
abort_unless(Auth::user()->isAdmin());

De esta forma agregamos un poco de «semántica» a nuestro código y se lee de una forma mucho más clara: «Aborta a menos que el usuario sea de tipo admin».

Cambiando la estructura de nuestro código tomando en cuenta la semántica, sin duda podremos escribir aplicaciones mucho más fáciles de mantener y de la misma manera ayudamos a que el código se explique por sí mismo. Esto sin necesidad de escribir largos bloques de comentarios tratando de aclarar cada funcionalidad.

Puedes aprender a escribir un código más limpio con nuestro Curso de Refactorización.

Además puedes encontrar  más información sobre el manejo de excepciones y errores en Laravel:

Suscríbete a nuestro boletín

Te enviaremos publicaciones con consejos útiles y múltiples recursos para que sigas aprendiendo.

Regístrate hoy en Styde y obtén acceso a todo nuestro contenido.