Quinta parte de ésta serie sobre las novedades de Laravel 7, esta vez aprenderemos cómo personalizar los parámetros de las rutas al usar Model Binding implícito 😎.
Éste artículo forma parte de la siguiente serie:
- Nuevos Componentes de Laravel
- Casts Personalizados
- Cliente HTTP
- Fluent string
- Mejoras para Model Binding
- Artisan Test
- Archivos Stubs
Recordemos que el Model Binding nos permite obtener la instancia de un modelo (de un registro específico) sin necesidad de hacer una búsqueda explícita a la base de datos 🤗.
En otras palabras, nos ahorramos la tarea de utilizar dentro del controlador el método find (por ejemplo) para encontrar algún registro.
La mejora que han agregado para el model binding implícito es la personalización de los parámetros en las rutas 👏. Anteriormente solo podíamos hacer algo como esto:
Route::get('/producto/{product}', function(App\Product $producto){…});
Con lo anterior se aplicará el model binding usando únicamente el id de un producto, el cual remplazará la palabra product dentro de las llaves cuando escribamos la url en el navegador.
http://miproyecto/producto/4
A partir de Laravel 7 podemos personalizar esos parámetros escribiendo lo siguiente:
Route::get('/producto/{product:name}', function(App\Product $producto){…});
Con lo anterior estamos indicándole a Laravel que en vez de aplicar el model binding usando el id lo hará con el campo name 😲.
Esa explicación junto con otros detalles importantes lo pudes apreciar mejor en el siguiente videotutorial:
Es impresionante todas las mejoras que versión tras versión han agregado a este grandioso Framework.
En el siguiente enlace puedes encontrar la documentación oficial sobre lo visto en el video:
https://laravel.com/docs/7.x/routing#implicit-binding
Esto sería todo para ésta quinta parte acerca de las novedades de Laravel 7. Cualquier duda referente al mismo escríbela en los comentarios.
Sin más, me despido y nos leemos en el siguiente post 🖖.