Desarrollo de Rutas Web en Laravel: Creación y Configuración

Clase 4 de 31Curso de Introducción a Laravel 9

Contenido del curso

Fundamentos de Laravel

Manos a la obra con nuestro proyecto

Trabajemos en el diseño web de nuestro proyecto

Resumen

Toda aplicación web en Laravel comienza por un punto fundamental: la definición de rutas. Aunque existe un archivo index.php que actúa como puerta de entrada desde el navegador, el trabajo real de desarrollo no ocurre allí. Las rutas determinan cómo responde tu aplicación a cada solicitud, y dominar su configuración es el primer paso para construir cualquier proyecto sólido con este framework.

¿Dónde se configuran las rutas en un proyecto Laravel?

Laravel organiza las rutas en archivos separados según el canal de comunicación que necesites [01:07]:

  • web.php: todo lo relacionado con el desarrollo web, incluyendo sesiones, protección de formularios y configuraciones del entorno de navegador.
  • api.php: un archivo independiente para cuando vas a desarrollar una API.
  • console.php: para comandos que se ejecutan desde la terminal.
  • channels.php: para proyectos que trabajan con transmisión de eventos en tiempo real.

Cuando registras rutas en web.php, Laravel activa automáticamente funcionalidades como el manejo de estados de sesión y la protección CSRF en formularios. Esto significa que no necesitas configurar esos aspectos manualmente.

¿Qué métodos HTTP puedes utilizar en las rutas?

Los verbos HTTP representan las acciones que tu aplicación puede ejecutar sobre los datos [02:07]:

  • GET: consultar información.
  • POST: guardar nueva información en la base de datos.
  • DELETE: eliminar registros existentes.
  • PUT: actualizar información previamente almacenada.

Cada método se define directamente con la clase Route. Por ejemplo, una ruta básica con GET recibe dos argumentos: el nombre de la ruta y una función anónima que resuelve la respuesta.

php // Consultar Route::get('/', function () { return 'ruta home'; });

// Guardar Route::post('/', function () { // lógica para salvar información });

// Eliminar Route::delete('/', function () { // lógica para eliminar });

// Actualizar Route::put('/', function () { // lógica para actualizar });

Esta estructura funciona además como documentación interna de tu proyecto, ya que al leer el archivo puedes entender rápidamente qué hace cada ruta.

¿Cómo crear rutas con parámetros dinámicos?

Las rutas pueden recibir parámetros dinámicos para construir páginas que respondan según el contenido solicitado [03:30]. Un ejemplo clásico es una ruta de blog que recibe un slug:

php Route::get('/blog/{slug}', function ($slug) { // Simular consulta a base de datos return "Publicación: " . $slug; });

Al visitar /blog/php, la ruta captura el valor php como parámetro y lo procesa. Esto permite que una sola definición de ruta sirva para múltiples publicaciones.

¿Cómo manejar solicitudes HTTP con la clase Request?

Para capturar datos enviados por el usuario, Laravel ofrece la clase Request del espacio de nombres Illuminate\Http [04:15]. Esta clase se inyecta automáticamente gracias al contenedor de servicios de Laravel:

php use Illuminate\Http\Request;

Route::get('/buscar', function (Request $request) { return $request->all(); });

Cuando visitas /buscar?query=PHP, el método all() devuelve toda la información de la solicitud en formato de arreglo. El objeto Request representa la solicitud o petición HTTP completa: es la forma en que tu aplicación pregunta "¿qué necesitas?" para luego procesar y entregar la respuesta adecuada.

¿Cuál es el flujo completo de una solicitud en Laravel?

El proceso sigue una secuencia clara [05:20]:

  • El navegador envía una petición que llega al archivo index.php.
  • Laravel verifica que la ruta solicitada existe en los archivos de definición.
  • Si la ruta existe, ejecuta la lógica asociada y entrega una respuesta.
  • Si no existe, el sistema responde con un error 404.

Este flujo refuerza un principio fundamental: siempre que desarrolles una nueva funcionalidad, el primer paso es definir su ruta. A partir de ahí construyes la lógica de negocio y la respuesta que el usuario espera recibir.

Practica creando tus propias rutas con diferentes métodos HTTP y parámetros. ¿Qué tipo de rutas necesitas para tu próximo proyecto? Comparte tu experiencia en los comentarios.