Laravel 5 Framework Blade Tema Motoru Kontrol Yapıları

Merhaba arkadaşlar bu yazımda sizlere blade tema motorunda kontrol yapılarından olan if, else, switch, case gibi deyimleri göstereceğim. Bunların yanı sıra blade tema motorunda birtakım ekstra deyimler bulunmaktadır.

Switch case kontrol yapıları

Bu kontrol yapısında yazım şeklinde pek değişiklik yok. Hemen kullanımına geçelim.

@switch($i)
    @case(1)
        İlk koşul alanı.
        @break

    @case(2)
        İkinci koşul alanı.
        @break

    @default
        Varsayılan koşul alanı.
@endswitch

İf else kontrol yapıları

Bu kontrol yapısı normal yazım şekliyle neredeyse aynı zaten ne işe yaradığını açıklamaya gerek olmadığını düşünüyorum.

@if (count($kayit) === 1)
    Yanlızca 1 adet kayıt bulunmaktadır.
@elseif (count($kayit) > 1)
    1'den fazla kayıt bulunmaktadır.
@else
    Kayıt bulunmamaktadır.
@endif

İf deyimlerinden türetilmiş yapılar

Öncelikle unless deyime bakalım. Örneğin bir koşulun yanlış olmasını kontrol ediyoruzdur. Bunun için if koşulunda false değerine eşitliyoruz yada ! operatörüyle çıkacak sonucu tersine çevirip kontrol ediyoruz. Bunun yerine direk unless kullanarak direk false değeri dönmesini bekliyoruz. Hemen örnek kullanıma bakalım.

@unless (Auth::check())
    Henüz giriş yapmamışsınız.
@endunless

Şimdide isset ve empty deyimlerine bakalım. Bir if deyimi içerisinde değişkeni isset fonksiyonu ile kontrol etmek yerine bu deyimle direk kontrol edebilirsiniz.

@isset($kayit)
    // Kayıt değişkeni tanımlanmış ve null değerinden farklı.
@endisset

@empty($kayit)
    // Kayıt değişkeni boş veya null değerindedir.
@endempty

Yetki deyimleri

Şimdi yetkilendirme kontrollerini görelim. Basit olarak baktığımızda auth ve guest olarak kontrol yapısı var.

@auth
    Üye girişi yapmışsınız.
@endauth

@guest
    Misafir olarak hoş geldiniz.
@endguest

Eğer ki guard sisteminden faydalanmak istiyorsanız. Bunun için parametre verebilirsiniz.

@auth('admin')
    Üye girişi yapmışsınız.
@endauth

@guest('admin')
    Misafir olarak hoş geldiniz.
@endguest

You may also like...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir