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:
- Manejo de excepciones en las pruebas en Laravel 5.5
- Mejoras en el manejo de excepciones en las pruebas a partir de Laravel 5.5
- Manejo de errores y excepciones en Laravel 5.1
- Creación y uso de excepciones personalizadas con PHP y PHPUnit
Regístrate hoy en Styde y obtén acceso a todo nuestro contenido.