
¿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 y @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 y @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
@foreach y endforeach
@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
$loop
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 first, last, count, remaining, iteration e index.
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.
@forelse, @empty y @endforelse
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 y @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.




