馃Л Rutas con par谩metros en Laravel

馃Л 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>
  
馃挕 Tip: Usa par谩metros para manejar recursos espec铆ficos (usuarios, productos, pedidos) de forma limpia y predecible. Combinados con controladores RESTful, facilitan enormemente la navegaci贸n entre vistas.

馃摎 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.

Publicar un comentario

0 Comentarios