🧭 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