馃Л Rutas con par谩metros en Laravel
Domina el manejo de par谩metros en las rutas de Laravel
Las rutas con par谩metros permiten que tus URLs sean din谩micas y transmitan informaci贸n hacia los controladores. Laravel ofrece una forma elegante y segura de capturar valores directamente desde la URL, ideal para mostrar, editar o eliminar recursos espec铆ficos.
馃摌 ¿Qu茅 es un par谩metro en una ruta?
Un par谩metro es una parte variable de la URL que Laravel puede recibir como argumento.
Por ejemplo, la ruta /usuarios/5 puede indicar que queremos mostrar el usuario con ID 5.
use Illuminate\Support\Facades\Route;
Route::get('/usuarios/{id}', function ($id) {
return "Mostrando el usuario con ID: " . $id;
});
Laravel detecta autom谩ticamente el valor dentro de las llaves {} y lo pasa como par谩metro a la funci贸n
o m茅todo del controlador.
⚙️ Par谩metros opcionales
Si un par谩metro puede o no estar presente en la URL, se puede marcar como opcional utilizando el signo de interrogaci贸n ?:
Route::get('/productos/{categoria?}', function ($categoria = 'general') {
return "Categor铆a: " . $categoria;
});
Si el usuario visita /productos, Laravel devolver谩 “Categor铆a: general”.
Si visita /productos/electr贸nica, mostrar谩 “Categor铆a: electr贸nica”.
馃З Restricciones con expresiones regulares
Puedes validar el formato de los par谩metros directamente en la definici贸n de la ruta usando where():
Route::get('/usuarios/{id}', function ($id) {
return "Usuario con ID: " . $id;
})->where('id', '[0-9]+');
En este caso, solo se aceptar谩n n煤meros.
Si alguien intenta acceder a /usuarios/abc, Laravel mostrar谩 un error 404 autom谩ticamente.
馃殌 Pasando par谩metros a un controlador
Lo m谩s com煤n es que las rutas llamen a controladores en lugar de funciones an贸nimas. Laravel pasar谩 autom谩ticamente los par谩metros al m茅todo correspondiente:
use App\Http\Controllers\UsuarioController;
Route::get('/usuarios/{id}', [UsuarioController::class, 'show']);
Y en el controlador:
public function show($id)
{
$usuario = Usuario::findOrFail($id);
return view('usuarios.show', compact('usuario'));
}
馃П Ejemplo visual del formulario con par谩metros
Supongamos que tenemos una vista para mostrar los detalles de un usuario seleccionado:
<div class="card mt-4">
<div class="card-header bg-primary text-white">
<h4>Detalles del Usuario</h4>
</div>
<div class="card-body">
<p><strong>Nombre:</strong> {{ $usuario->nombre }}</p>
<p><strong>Correo:</strong> {{ $usuario->email }}</p>
<a href="{{ route('usuarios.index') }}" class="btn btn-secondary">Volver</a>
</div>
</div>
馃摎 En resumen:
- Los par谩metros se definen entre llaves
{}en las rutas. - Puedes hacerlos opcionales con
?. - Usa
where()para restringir su formato. - Laravel pasa autom谩ticamente los par谩metros a los m茅todos del controlador.
0 Comentarios
Si desea contactar comigo, lo puede hacer atravez deste formulario gracias