Laravel tiene varias formas de tratar con las excepciones de nuetros proyectos, uno de ellos es el helper «abort()», esta función generar una excepción HTTP el cual sera procesada por el exception handler, es decir, si por ejemplo, si quisieramos restringir el acceso a ciertos métodos solo a usuarios con nivel de administrador, pódriamos usar el siguiente pedazo de código:
public function foo(){
if ( !Auth::user()->isAdmin() ) {
abort(403, 'Acceso prohibido');
}
...
..
.
}
Y si el usuario en cuestión no tiene el nivel de administrador, se produce una excepción 403 y el codigo que hay debajo, ya no se ejecuta. Por pantalla veremos algo como esto:
Si bien el código de arriba no tiene nada de malo, algunos puristas de la programación no les gusta utilizar tantas lineas de codigo. No hay problema, para eso Laravel cuenta con dos helpers mas, estos son abort_if() y abort_unless().
Esta función genera una excepción HTTP si la expresión boolenana contenida se evalua como TRUE. Basicamente lo mismo que abort, pero en una sola linea. Es decir:
public function foo(){
abort_if( !Auth::user()->isAdmin() , 403, 'ACCESO DENEGADO');
...
..
.
}
Similar a abort_if(), con la diferencia de que la expresión booleana generara una excepción si esta se evalua como FALSE.
public function foo(){
abort_unless( Auth::user()->isAdmin(), 403, 'ACCESO RECONTRA PROHIBIDO' );
...
..
.
}
Para terminar decir que cualquiera de estos helpers, acepta un cuarto parametro que es el headers, o sea:
abort_unless( Auth::user()->isAdmin() , 403, 'ACCESO RECONTRA PROHIBIDO', ['statusText' => 'No estas logueado papay'] );
enjoy!!!
Si necesitas de graficos estadisticos y Excel no es tu fuerte o no te gusta el estilo que tiene, MakeGraph.app es una bu[...]
Si te gusta realizar tus propios memes o foto montajes pero tienes poca o nula experiencia en editores gráficos como Pho[...]
Java nos permite pasar parámetros a una aplicación empaquetada en un *.JAR mediante el MAIN de nuestro programa, pero cl[...]
Java 8 trae consigo una nueva versión del motor de JavaScript llamada Nashorn, este motor introduce mejoras de rendimien[...]
En diciembre de 1990 se desarrolló una aplicación llamada WorldWideWeb en una máquina NeXT (programado con el lenguaje O[...]
La IA (Inteigencia Artificial) ha existido durante décadas, pero solo en estos últimos años ha ido evolucionando a pasos[...]