Laravel 5 Framework Blade Tema Motoru Döngüler
Merhaba arkadaşlar bu yazımda sizlere blade tema motorunda bulunan döngüleri göstereceğim. Bu yazımda 4 adet döngüden bahsedeceğim.
For döngüsü
Arkadaşlar bu döngünün farklı bir detayı yok PHP’de kullandığımız gibi blade tema motorunda da aynı şekilde olduğundan hemen örneği veriyorum.
@for ($i = 0; $i < 10; $i++) Geçerli değer {{ $i }} @endfor
Forelse döngüsü
Forelse döngüsünde foreach döngüsüne ek olarak birtakım kontroller gerçekleşiyor. Bu kontrol daha iyi anlatabilmek için forelse yerine kullanılabilecek başka bir kod parçacığı göstereceğim.
@if(count($sonuclar) > 0) @foreach($sonuclar as $sonuc) {{ $sonuc }} @endforeach @else Herhangi bir kayıtlı sonuç bulunamadı. @endif
Şimdi forelse kullanmış olsaydık aynı sonucu nasıl alacaktık.
@forelse($sonuclar as $sonuc) {{ $sonuc }} @empty Herhangi bir kayıtlı sonuç bulunamadı. @endforelse
İşlev aynısı ancak daha düzenli ve okunaklı kod yazmanızı sağlıyor. 2 satır kod tasarrufu sağlıyorsunuz.
While döngüsü
Arkadaşlar bu döngünün de kullanımı birebir aynı şekilde blade tema motoruna aktarılmış.
@while (true) Bu döngü sonsuza kadar döner reis. @endwhile
Foreach döngüsü
Bu blade tema motorunda aynı şekilde kullanılıyor ancak birtakım ekstra özelliklerde blade tema motoruyla birlikte geliyor. Bu özellikler işlerinizi kısaltabilir.
@foreach($dizi as $deger) {{ $deger }} @endforeach
Break ve continue deyimlerinin kullanımını da görelim.
@foreach($dizi as $deger) @if($deger == false) @continue @endif {{ $deger }} @if($deger == true) @break @endif @endforeach
Bunların birde kısaltılmış hali bulunmaktadır.
@foreach ($dizi as $deger) @continue($deger == false) {{ $deger }} @break($deger == true) @endforeach
Bu deyimleri gördükten sonra arkadaşlar şimdi blade tema motoruyla birlikte gelen foreach döngüsü içerisinde kullanabileceğiniz $loop değişkenini görelim.
@foreach ($users as $user) @if ($loop->first) Bu ilk dönüş. @endif @if ($loop->last) Bu son dönüş. @endif <p>Üye id değeri {{ $user->id }}</p> @endforeach
@foreach ($users as $user) @foreach ($user->posts as $post) @if ($loop->parent->first) Bu üst döngünün ilk dönüşüdür. @endif @endforeach @endforeach
- $loop->index | Geçerli döngünün tekrarlama sayısını gösterir. 0’dan başlar.
- $loop->iteration | Geçerli döngünün tekrarlama sayısını verir. 1’den başlar.
- $loop->remaining | Geçerli döngünün kalan tekrarlama sayısını verir.
- $loop->count | Dizideki yinelenen toplam öğe sayısı.
- $loop->first | Geçerli döngünün o anki tekrarının ilk tekrarlaması olup olmadığını verir.
- $loop->last | Geçerli döngünün o anki tekrarının son tekrarlaması olup olmadığını verir.
- $loop->depth | Geçerli döngünün derinliğini verir.
- $loop->parent | Bir üst döngünün değerlerini verir.