Laravel - Enrutamiento
En Laravel, todas las solicitudes se asignan con la ayuda de rutas. El enrutamiento básico enruta la solicitud a los controladores asociados. Este capítulo trata sobre el enrutamiento en Laravel.
El enrutamiento en Laravel incluye las siguientes categorías:
- Enrutamiento básico
- Parámetros de ruta
- Rutas nombradas
Enrutamiento básico
Todas las rutas de la aplicación están registradas dentro del app/routes.phparchivo. Este archivo le dice a Laravel los URI a los que debería responder y el controlador asociado le dará una llamada en particular. La ruta de muestra para la página de bienvenida se puede ver como se muestra en la captura de pantalla que se muestra a continuación:
Route::get ('/', function () {
return view('welcome');});
Ejemplo
Observe el siguiente ejemplo para comprender más sobre el enrutamiento:
app/Http/routes.php
<?php
Route::get('/', function () {
return view('welcome');
});
resources/view/welcome.blade.php
<!DOCTYPE html>
<html>
<head>
<title>Laravel</title>
<link href = "https://fonts.googleapis.com/css?family=Lato:100" rel = "stylesheet"
type = "text/css">
<style>
html, body {
height: 100%;
}
body {
margin: 0;
padding: 0;
width: 100%;
display: table;
font-weight: 100;
font-family: 'Lato';
}
.container {
text-align: center;
display: table-cell;
vertical-align: middle;
}
.content {
text-align: center;
display: inline-block;
}
.title {
font-size: 96px;
}
</style>
</head>
<body>
<div class = "container">
<div class = "content">
<div class = "title">Laravel 5.1</div>
</div>
</div>
</body>
</html>
El mecanismo de enrutamiento se muestra en la imagen que se muestra a continuación:
Entendamos ahora los pasos involucrados en el mecanismo de enrutamiento en detalle:
Step 1 - Inicialmente, debemos ejecutar la URL raíz de la aplicación.
Step 2 - Ahora, la URL ejecutada debe coincidir con el método apropiado en el route.phparchivo. En el caso presente, debería coincidir con el método y la URL raíz ('/'). Esto ejecutará la función relacionada.
Step 3 - La función llama al archivo de plantilla resources/views/welcome.blade.php. A continuación, la función llama al view() función con argumento ‘welcome’ sin usar el blade.php.
Esto producirá la salida HTML como se muestra en la imagen a continuación:
Parámetros de ruta
A veces, en la aplicación web, es posible que deba capturar los parámetros pasados con la URL. Para ello, debe modificar el código enroutes.php archivo.
Puede capturar los parámetros en routes.php archivo de dos formas como se discute aquí -
Parámetros requeridos
Estos parámetros son los que deben capturarse obligatoriamente para enrutar la aplicación web. Por ejemplo, es importante capturar el número de identificación del usuario de la URL. Esto puede ser posible definiendo los parámetros de ruta como se muestra a continuación:
Route::get('ID/{id}',function($id) {
echo 'ID: '.$id;
});
Parámetros opcionales
A veces, los desarrolladores pueden producir parámetros como opcionales y es posible con la inclusión de ?después del nombre del parámetro en la URL. Es importante mantener el valor predeterminado mencionado como nombre de parámetro. Mire el siguiente ejemplo que muestra cómo definir un parámetro opcional:
Route::get('user/{name?}', function ($name = 'TutorialsPoint') { return $name;});
El ejemplo anterior comprueba si el valor coincide con TutorialsPoint y en consecuencia, las rutas a la URL definida.
Rutas nombradas
Las rutas con nombre permiten una forma conveniente de crear rutas. El encadenamiento de rutas se puede especificar usando el método de nombre en la definición de ruta. El siguiente código muestra un ejemplo para crear rutas con nombre con el controlador:
Route::get('user/profile', '[email protected]')->name('profile');
El controlador de usuario llamará a la función showProfile con parámetro como profile. Los parámetros utilizanname método en la definición de ruta.