Estructuras de control de la hoja de Laravel

estructuras de control

¿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.

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.

Recent Post