Estructuras de control de la hoja de Laravel

[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”]

¿Qué son las estructuras de control de la hoja de Laravel?

Las estructuras de control son bloques de código que analizan el código y deciden qué código ejecutar, según los parámetros dados.

[/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]

Estructuras de control


Condicionales

@if@endif

@if se usa para renderizar código condicionalmente si se cumple la condición dada. @if está cerrado por la directiva @endif.

Ejemplo:

Suponga que tiene una variable $age que tiene un valor de 5.

@if($test < 5)
    Hello World
@endif

@else@endif

Otras veces, cuando la condición en la declaración @if se evalúa como false, querrá generar algún otro código. @else nos permite renderizar este otro código.

Ejemplo

@if($test < 5)
    Hello World
@else
    Hello People
@endif

A veces, tiene algo más que una afección. @elseif nos permite agregar más condiciones.

Ejemplo

@if($test < 5)
    Hello World
@elseif($test < 90)
    Hello 100s
@elseif($test < 500)
    Hello 500s
@else
    Hello People
@endif

@unless y @endunless

@unless funciona como lo opuesto a @if y solo muestra código cuando no se cumple la condición en él. @unless está cerrado por @endunless.

Escribir @unless($age) funciona exactamente como @if(!$age).

Ejemplo

@unless($test = 5)
    Hello World
@endunless

Loops

@for y @endfor

La directiva @for blade se usa como el bucle for en PHP. Está cerrado por la directiva @endfor.

Ejemplo

@for ($i = 0; $i < 5; $i++)
    {{ $i }}
@endfor

@foreachendforeach

@foreach se usa con matrices y termina con endforeach. Da acceso a cada elemento de la matriz que se utilizará en la vista.

Ejemplo

@foreach($posts as $post)
    <h2>{{ $post->title }}</h2>
@endforeach

Cuando usa la directiva @foreach, Laravel le da acceso a una variable $loop que tiene detalles sobre la iteración actual.

El objeto $loop tiene las propiedades firstlastcountremainingiterationindex.

Ejemplo

@forelse($posts as $post)
    <h2>{{ $post->title }}</h2>
    <p>Loop iteration: {{ $loop->iteration }}</p>
    <p>Loop index: {{ $loop->index }}</p>
    <p>Remaining items: {{ $loop->remaining }}</p>
    <p>Total items count: {{ $loop->count }}</p>
    <p>Is the first item? {{ $loop->first }}</p>
    <p>Is the last item? {{ $loop->last }}</p>
@empty
    No posts yet.
@endforelse

Si el bucle está en otro bucle, el objeto $loop tiene otras propiedades como la depth y el parent para indicarle cuántos bucles de profundidad tiene y hacer referencia al bucle padre, respectivamente.


Al usar el bucle @foreach, a veces recorre matrices vacías y se encuentra con errores. Para evitar esto, use el bucle @forelse. Esto comprueba primero los datos en la matriz y luego recorre la matriz. Si la matriz está vacía, la directiva @emptycontiene código para representar. El bucle @forelse está cerrado por la directiva @endforelse.

Ejemplo

@forelse($posts as $post)
    <h2>{{ $post->title }}</h2>
@empty
    No posts yet.
@endforelse

@while@endwhile

La directiva @while funciona exactamente como el bucle while en PHP nativo y finaliza con la directiva @endwhile.

Ejemplo

@while($item = array_pop($test))
    {{ $item }}
@endwhile

Resumen

Ahora sabe cómo redirigir a los usuarios en sus aplicaciones de Laravel.

Este artículo fue publicado (en inglés) originalmente en The Educative Team y se puede leer aquí.

Si tiene alguna pregunta o consejo relevante, por favor contácteme para compartirlo.

[/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]