C贸mo usar Form Requests y Policies en Laravel

Aprender Laravel significa comprender los conceptos m谩s importantes del framework.

Por ejemplo, los conceptos fundamentales son:

  • Rutas
  • Modelos
  • Controladores
  • Vistas

Sin embargo, conforme obtienes m谩s experiencia desarrollando proyectos web, de seguro que tendr谩s mayor inter茅s en organizar el c贸digo de tus proyectos Laravel.

Hoy vamos a ver c贸mo puedes organizar mejor el c贸digo de tus aplicaciones Laravel, haciendo uso de Form Requests y Policies.

Form Requests

Primero que todo, 驴qu茅 es un request?

Un request HTTP, tambi茅n conocido como petici贸n o solicitud HTTP, es una consulta que se hace a tu backend para ejecutar una acci贸n a nombre de un usuario.

Por ejemplo:

  • Una petici贸n GET suele usarse para consultar informaci贸n.
  • Mientras que una petici贸n POST representa el registro de nuevos datos.

驴Qu茅 es lo que haces ante una petici贸n de un usuario?

Lo m谩s seguro es que quieras validar los datos de la petici贸n, y as铆 mismo verificar si el usuario est谩 autorizado o no para realizar una acci贸n determinada.

驴D贸nde se sit煤a esta l贸gica de validaci贸n y autorizaci贸n?

Cuando uno empieza a usar un framework y no tiene mucha experiencia, tiende a crear controladores muy extensos. Es decir, 茅stos contienen la l贸gica de validaci贸n y autorizaci贸n.

Si bien un controlador es el responsable de atender las peticiones que realizan los usurarios, es recomendable evaluar las reglas de validaci贸n y la l贸gica de autorizaci贸n en clases que representen a los requests.

Es aqu铆 donde se introduce el concepto de Form Request.

Policies

Las policies son otro concepto importante de Laravel.

Las policies nos permiten definir pol铆ticas de autorizaci贸n en torno a recursos de nuestro proyecto.

Por ejemplo, si tenemos un modelo Question, que representa a preguntas publicadas dentro de nuestro proyecto web, podemos definir una clase QuestionPolicy que contenga la l贸gica de autorizaci贸n para este recurso.

Es decir, la clase responder谩 a preguntas como:

  • 驴Qu茅 usuarios tienen permitido crear recursos?
  • 驴Qu茅 usuarios pueden editar un recurso determinado?
  • 驴Qu茅 usuarios pueden eliminar un recurso determinado?

Las Policies deben registrarse y posteriormente pueden usarse, tanto en nuestras vistas, como dentro de un Form Request.

Es decir, podemos combinar ambos conceptos.

驴C贸mo usar Form Requests y Policies?

Conociendo ya la teor铆a, te recomiendo ver el siguiente video, donde encontrar谩s un ejemplo pr谩ctico de c贸mo usar Form Requests y Policies.

Conclusi贸n

Laravel nos ayuda mucho a organizar nuestros proyectos web. Pero, 驴realmente le estamos sacando el m谩ximo provecho posible al framework?

De seguro que hacemos nuestro mejor esfuerzo 馃檪.

Si a煤n est谩s empezando y estos conceptos son nuevos para ti, te aseguro que con el tiempo aprender谩s cada vez m谩s sobre desarrollo de software en general, y entonces tus proyectos ser谩n m谩s seguros y estar谩n mejor organizados.

Si te interesa continuar aprendiendo m谩s sobre Laravel, te invito a inscribirte a mis cursos, y a continuar leyendo m谩s art铆culos interesantes:

# laravel # policies # form requests

Logo de Programaci贸n y m谩s

Comparte este post si te fue de ayuda 馃檪.

Reg铆strate

Accede a todos los cursos, y resuelve todas tus dudas.

Cursos Recomendados

Imagen para el curso Aprende Laravel

Aprende Laravel

Aprende Laravel desde cero y desarrolla aplicaciones web reales, en tiempo r茅cord, de la mano de Laravel.

Iniciar curso
Imagen para el curso Laravel Upgrade

Laravel Upgrade

Actualiza tus proyectos desde cualquier versi贸n hasta la 煤ltima versi贸n estable de Laravel.

Iniciar curso
Imagen para el curso Laravel y Vue

Laravel y Vue

Desarrollemos un Messenger! Aprende sobre Channels, Queues, Vuex, JWT, Sesiones, BootstrapVue y mucho m谩s.

Iniciar curso

Espera un momento ...

驴Te gustar铆a llevar mi curso de Laravel, gratis?

S贸lo debes ingresar tus datos: