Laravel y Base de Datos

Entorno de trabajo y repaso de Laravel

1

Qué aprenderás sobre Laravel Avanzado

2

Repaso de Laravel y requisitos del curso

3

Configuración de la base de datos-SQLite en Laravel

4

Instalación, configuración y uso de Homestead

5

Instalar Laravel Sanctum

6

API de autenticación: laravel UI y laravel sanctum

Manejo de tu base de datos con Laravel

7

Capa de transformación con API Resources

8

Manejo de relaciones en bases de datos con Laravel

9

Relaciones Polimórficas en Eloquent

La terminal de Laravel

10

Cómo crear comandos para la terminal de Laravel

11

Ejecutando comandos desde la API

12

Programación de tareas

Eventos y tareas de Laravel

13

Eventos y Listeners en Laravel

14

Eventos de Eloquent

15

Introducción al uso de Queues y Jobs

16

Cómo disparar eventos en Queues

17

Laravel Horizon

Manejo de errores

18

Cómo capturar y leer errores con la clase Handler

19

Excepciones personalizadas

20

Excepciones HTTP personalizadas y debugging con Laravel Telescope

21

Configuración de logs y channels en Laravel

El corazón de Laravel

22

Ciclo de vida de una aplicación en Laravel

23

¿Qué son los service containers?

24

¿Cómo funciona un service container?

25

Registro y carga de clases con service providers

Creación de paquetes

26

¿Cómo crear mis propios paquetes de Laravel?

27

Propiedades para manejo de dependencias

28

Comprende el archivo composer.json

29

Extendiendo composer.json, autocarga de clases y PSR-4

30

Crear mis propios Services Providers

31

Publicación de archivos

32

Uso de repositorios locales

33

Publicación de paquetes en packagist

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Excepciones personalizadas

19/33
Recursos

Aportes 7

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Ojo si piensan crear una excepcion persoonalizada que funcione tanto para un archivo blade como para un json dentro del metodo render pueden agregar:

if ($request->wantsJson()) {
   return response()->json([
       'error' => 'tu mensaje personalizado'
   ]);
}
return redirect()->back()->with([
    'error' => 'tu mensaje'
]);
// o
return throw new ValidationException('tu mensaje')

De esta forma solo si el llamado es desde una solicitud de API, de lo contrario el sabra que debe retornar un error redireccionando de regreso con un mensaje o lanzando una exception de tipo validación que se agrega al errorBag de Laravel y que esta disponible en cualquier archivo Blade con la variable $errors y asi mostrarlo.

Dejo un video como material extra donde explica un poco mas como usar custom exceptions, muestra un metodo validationExceptions que podemos implementar en cualquier clase de exceptions de Laravel, asi como el uso de abort_if y throw_if y su version en unless, ademas como extra nos illustra un poco como otros devs separan su codigo de logica por services, otros usan actions, lo importante es que se separa el codigo y a mi parecer es muy complementario con esta leccion : https://www.youtube.com/watch?v=1j_5IB7qUhk&feature=youtu.be&fbclid=IwAR1J6_RH1G6kpOEpjCZIQCn71QkDwn2qoQO7AuzhUHBg5NhulgZY3WRe-xw

Me parece más práctico el método render desde la clase de exception, y eso se conserva tal cual en Laravel 8, aunque si quisieramos hacerlo dentro del Handler deberíamos escribir una función “renderable” dentro de “register”, como sea, dejo el commit:

https://github.com/RetaxMaster/platzi-api/commit/28c88b26a05173e13eaa2591370934afa3263a67

con la execepciones personalisadas tenemos control ya que las hacemos a nuestra manera

Me parece mas limpio pasarle los datos de configuración a la excepción

return response()->json([
‘message’=>“Debes ingresar un valor entre {$exception->from} y {$exception->to}”,
‘score’=>$exception->score
]);

luego de crear el archivo rating.php o cualquier otro de configuración recuerden ejecutar php artisan cache:config