Enumeraciones en Laravel 9

Laravel 9: ¡Enumeraciones!

¡Y si! Finalmente, tenemos soporte oficial para Enumeraciones en php 8.1, aunque podríamos agregarlos al marco de Laravel usando paquetes de terceros como spatie/enums.


Pero, ¿qué son las enumeraciones en php?

Son solo objetos singleton y la sintaxis para definirlos es la siguiente:

laravel 9 enums

Con mucho gusto, podemos hacer muchas cosas con Laravel Enums y en este artículo cubriremos algunos de los usos más importantes.

1. Enlaces de ruta con enumeraciones

Laravel 9.x tiene la capacidad de escribir sugerencias en nuestra ruta… ¡Piénselo como un enlace de modelo de ruta pero en lugar de modelo tenemos enumeraciones! Veamos un ejemplo:

Enumeraciones

Y en web.php:

Enumeraciones

Con estos códigos, Laravel reconocerá automáticamente el tipo de categoría y, si no pasamos ninguno de los tipos predefinidos, ¡devolverá una respuesta HTTP 404!

2. Enumeraciones y migraciones

Podemos usar el método enum() como el siguiente ejemplo para crear una columna con el tipo de enumeración, solo tenga cuidado al elegir un nombre propio porque actualmente no se admite el cambio de nombre de una columna de enum.

Enumeraciones

3. Conversión de atributos de enumeración

Ahora, nuestro querido ORM Eloquent, nos permitirá convertir atributos en enumeraciones de PHP. Solo necesitamos usar la matriz de propiedades $casts en el modelo deseado:

Enumeraciones

Y podemos acceder al atributo directamente:

Enumeraciones

4. Métodos de enumeración

De acuerdo con los documentos de Laravel, casi todos los métodos conocidos que usamos en las colecciones también están disponibles en los me gusta de las enumeraciones:

Enumeraciones


Eso es todo… ¿Alguna pregunta?

Recent Post