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 whereNumberwhereAlphawhereAlphaNumeric 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();
}
Únete a nuestra comunidad en Discord y comparte con los usuarios y autores de Styde, 100% gratis.

Únete hoy

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