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.
