Enumeraciones en Laravel 9

[vc_row el_class=”blog-info”][vc_column][vc_single_image source=”featured_image” img_size=”full” style=”vc_box_rounded”][vc_empty_space height=”40px”][vc_row_inner][vc_column_inner width=”1/6″][/vc_column_inner][vc_column_inner width=”2/3″][vc_column_text el_class=”font-weight-bold”]

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.

[/vc_column_text][vc_empty_space height=”40px”][/vc_column_inner][vc_column_inner width=”1/6″][/vc_column_inner][/vc_row_inner][vc_row_inner][vc_column_inner width=”1/6″][/vc_column_inner][vc_column_inner width=”2/3″][vc_column_text]


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?

[/vc_column_text][/vc_column_inner][vc_column_inner width=”1/6″][/vc_column_inner][/vc_row_inner][/vc_column][/vc_row][vc_row el_class=”social-info”][vc_column width=”1/6″][/vc_column][vc_column width=”2/3″][vc_row_inner][vc_column_inner width=”1/2″][vc_column_text][social_share_button themes=’theme1′][/vc_column_text][/vc_column_inner][vc_column_inner el_class=”youtube-inner-col” width=”1/2″][vc_column_text][likebtn theme=”youtube” lang=”auto” show_like_label=”0″ white_label=”1″ alignment=”right”][/vc_column_text][/vc_column_inner][/vc_row_inner][vc_row_inner el_class=”social-info-inner”][vc_column_inner width=”1/4″][vc_single_image image=”921″][/vc_column_inner][vc_column_inner width=”3/4″][vc_column_text]

Diego Pacheco

Ingeniero en Sitemas, MBA (Babson College). Desarrollador PHP/Java/JavaScript. Fundador & CEO de EpicStudio. Entusiasta de las tecnologías web (JavaScript, Vue, Laravel, AWS, Docker) Viajes, Negocios, Surf y Growth.[/vc_column_text][asvc_list_item icon_fontawesome=”fa fa-calendar-o” icon_size=”14px”]Programar una reunión[/asvc_list_item][/vc_column_inner][/vc_row_inner][/vc_column][vc_column width=”1/6″][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]

Recent Post

[/vc_column_text][lvca_posts_carousel posts_query=”size:3|order_by:rand|post_type:post” image_linkable=”true” image_size=”full” taxonomy_chosen=”post_tag” display_title=”true” display_post_date=”true” display_summary=”true” autoplay_speed=”3000″ animation_speed=”300″ display_columns=”3″ scroll_columns=”3″ gutter=”3″ tablet_display_columns=”2″ tablet_scroll_columns=”2″ tablet_gutter=”3″ tablet_width=”800″ mobile_display_columns=”1″ mobile_scroll_columns=”1″ mobile_gutter=”3″ mobile_width=”480″][vc_empty_space height=”20px”][/vc_column][/vc_row]