Laravel: Sistema de Rutas

En esta tercera parte se explica el funcionamiento del sistema de rutas que utiliza laravel

Rutas

Las rutas sirven para mapear las URLs de la aplicación a sus correspondientes controladores, es decir, las rutas escuchan la petición http, si la petición no encuentra una ruta que la escuche arroja error, en caso de encontrarla realiza lo que esa ruta indique, por ejemplo, actuar en una función anónima o ir a un método de un controlador.

Ruta con función anónima

Son las rutas que impactan contra una función anónima, que funciona solo dentro de ese router y en ese momento.

Ruta que recibe la petición “/” y la desarrolla en la función anónima trayendo la vista “welcome”

Route::get → Estamos indicando que es una ruta que espera una petición http del tipo get.

‘ / ‘ → Es el parámetro esperado en esa petición

function(){ return view(‘welcome’);} → Es la función anónima en la cual se resuelve que se hace con la petición.

return view(‘welcome’) → Se indica que esa función tiene un retorno del tipo “view()” el cual retorna una vista llamada “welcome”

Rutas con Controladores

Generalmente estas son las más usadas. Imagínense que tenemos todas las vistas para hacer un ABM de usuarios, tenemos la vista Alta, Modificacion y Eliminacion, las cuales llevan una lógica de más de una línea. En lugar de estar armando toda la lógica con una función anónima haciendo un código espagueti, lo que se utiliza es apuntarlo hacia un método de un controlador, por ejemplo un controlador “UserController” que se encargue de manejar todo el ABM de  usuarios. La manera de crearla es la siguiente:

Tenemos una ruta que espera un parámetro del tipo get llamado alumnos y que apunta al método index del controlador “AlumnosController

Dentro del método del controlador se llevará a cabo toda la lógica que requiera y se retorna una vista que será mostrada al usuario.

 Para poder entender cómo utilizar un Controller y sus métodos es necesario leer el apartado de controladores

Con está ruta obtenemos la página notes, vamos a obtener todas las notas de la tabla Note y las vamos a mostrar en la vista notas, el comando compact guarda todas las notas en un array.

Le paso una variable desde la url, luego se la pasó a la función y la puedo utilizar.

Le digo que el parámetro “id” solamente puede contener números del 0 al 9 y con el signo + le indico que pueden ser todos los que sean necesarios.

Le pasó por url dos parámetros, de los cuales el parámetro id sólo puede ser numérico y los muestro  utilizando dd().

NOTA: dd() es equivalente a var_dump($var)

Le indico que el segundo parámetro es opcional y le doy un valor por defecto de null