En esta lección aprenderás a definir rutas con parámetros dinámicos usando el framework Laravel a partir de su versión 10.
Mira el código en GitHub: actual, resultado, comparación.
Laravel nos provee una forma sencilla de obtener parámetros dinámicos en nuestras URLs.
<?php Route::get('notas/{id}/editar', function ($id) { return 'Editar nota: ' . $id; });
Es posible restringir los valores aceptados por un parámetro de forma local en nuestras rutas utilizando el método where
, el cual acepta el nombre del parámetro y luego una expresión regular:
<?php Route::get('notas/{id}/editar', function ($id) { return 'Aquí podremos editar la nota: '.$id; })->where('id', '[0-9]+'); // o ->where('id', '\d+')
A partir de Laravel 8 también puedes usar los métodos whereNumber
, whereAlpha
, whereAlphaNumeric
y whereUuid
, para números, caracteres alfabéticos, caracteres alfanuméricos y cadenas de identificadores únicos, respectivamente.
También es posible lograr esto de manera global (para todas las rutas) agregando lo siguiente al método boot
dentro de app/Providers/RouteServiceProvider.php
:
<?php //... public function boot() { Route::pattern('id', '\d+'); parent::boot(); }
Regístrate hoy en Styde y obtén acceso a todo nuestro contenido.
Lección anterior Rutas básicas en Laravel 10 Lección siguiente Copiar plantillas de HTML a Laravel 10