Laravel 12 septiembre, 2018 0

Qué son y cómo se utilizan las RUTAS

Rutas

Las rutas son las URL’s de entrada de nuestra aplicación.

Todas la rutas en laravel se encuentra en el archivo “./routes/web.php“, el cual se carga automáticamente con el framework.

Por ejemplo si creamos las siguientes rutas:

Route::get('contacto', function () {
    return "Hola desde la pagina de contacto";
});


Route::get('acerca-de-nosotros', function () {
    return "Hola desde la pagina de acerda de nosotros";
});

Podremos visualizar los respectivos mensajes ingresando a la URL de nuestro proyecto “/contacto” y “/acerca-de-nosotros“. Así de sencillo.

Rutas con parámetros

Ahora, en ocasiones tendremos la necesidad de pasar parámetros por nuestra URL, lo que haremos es colocarla el nombre del parámetro entre llaves, y así mismo también a la función anónima, como se muestra a continuación.

Route::get('saludos/{nombre}', function($nombre) {
	return "Hola como estas " . $nombre;
});

Podremos visualizar el saludo y el valor del parámetro ingresando a la URL de nuestro proyecto “/saludos/Oscar“.

Rutas con parámetros opcionales

Si queremos que el parámetro no sea obligatorio, deberemos poner un signo de interrogación al final del parámetro y dar un valor por defecto como se muestra a continuación.

Route::get('saludos/{nombre?}', function($nombre = 'Invitado') {
	return "Hola como estas " . $nombre;
});

Podremos probar el resultado ingresando a las URL’s de nuestro proyecto “/saludos/Oscar” y “/saludos“.

Rutas con parámetros validados

Además imaginemos que deseamos evitar que el usuario ingrese números por el parámetro, para ello agregamos la función where al final de la ruta, la cual acepta dos parámetros, el primero es el parámetro que deseamos validar; el segundo la expresión regular con la que deseamos validar el parámetro.

Route::get('saludos/{nombre?}', function($nombre = 'Invitado') {
	return "Hola como estas " . $nombre;
})->where('nombre', '[A-Za-z]+');

Podremos probar el resultado ingresando a las URL’s de nuestro proyecto “/saludos/Oscar” y “/saludos/Oscar48“.

Rutas con nombre

Supongamos que tenemos la URL para la sección de contacto, y que el cliente desea que esta cambie a contactanos.

Route::get('contacto', function () {
    return "Hola desde la pagina de contacto";
});

Si dentro de nuestra aplicación solo tenemos un enlace a esta sección no será nada complicado hacer este cambio, pero de lo contrario supongamos que el cambio se debe hacer en más de 10 lugares. Esto si que haría esta tarea un poco más complicada.

Route::get('/', function(){
	return "<a href='contacto'>Contacto</a>";
});

Para evitar este problema deberemos crear rutas con nombre, y apuntar en nuestros enlaces con este alias y no con el nombre de la URL, para ello laravel implementa el método “route“.

Route::get('contactanos', ['as' => 'contacto', function () {
    return "Hola desde la pagina de contacto";
}]);
Route::get('/', function(){
	return "<a href='". route('contacto')."'>Contacto</a>";
});