Laravel Blade Template / Blade Direktifleri

Merhaba arkadaşlar. Makale yazmak ne kadar eğlenceli ve güzel olsada bunun için her zaman vakit olmuyor ne yazık ki ama yavaş ilerlesekde Laravel 5.2 Serisi sonuna kadar devam edecektir :)

 

Bu dersimizde Laravelin kendi template motoru olan Blade template öğreneceğiz. Öncelikle Laravel, blade kullanmayı mecbur bırakmıyor kişinin tercihine kalmış birşey fakat ben laravelın tüm nimetlerinden faydalanmamız gerektiğini düşünüyor ve tavsiye ediyorum. Özellikle blade kullanımı View kodlarımızı çok daha kolaylaştırıyor ve daha düzenli hale getiriyor.Daha önceki derslerimizde de farkettiğiniz gibi view dosyalarımızda .blade uzantısı bulunuyordu. View dosyamızın blade template olduğunu ve blade direktiflerinin kullanımına izin vermemizi sağlayan tek şey view dosyamıza verdiğimiz .blade uzantımızdır.

 

Aslında View dersimizde Controllardan gönderdiğimiz değişkenleri viewde okumak için echo yerine blade direktifi kullanmıştık ve bunu açıklamıştık fakat bu dersimizde bunu daha detaylı göreceğiz.

 

Blade direktiflerimiz ile başlar. Örneğin @yield , @section ve bunların yanında da bazı php kodları @if , @elseif , @else , @for , @endfor , @foreach , @endforeach gibi blade direktiflerimiz bulunmaktadır. Bu örnekler blade kullandıkça artacaktır. Şimdi bu örnekleri kodlara dökelim. Herhangi bir .blade bulunan view sayfanızda bu kodları tek tek deneyebilirsiniz

 

Örneklerimize ilk olarak php de kullandığımız echo yani ekrana yazdırma kodumuzun .blade içerisindeki hali aşağıdaki gibi

 

{{-- */ $degiskenAdi = "Merhaba"; /* --}}

{!! "<b> $degiskenAdi </b>" !!}

{{ "<b> $degiskenAdi </b>" }}

 

1. satırda bulunan kod $degiskenAdi diye bir değişken tanımlıyoruz ve bu değişkene Merhaba string değerini atıyoruz. 2. ve 3. Satırda bulunan kodlarımız değişkeni ekrana yazdırmaya yarıyor ama tabi ki aralarında fark bulunuyor. Bildiğiniz gibi <b> </b> html tagları içerisinde yazılanlar Kalın bir şekilde çıktı verir.

 

Bizim yazdığımız 2 farklı çıktı kodunda 2.satırda bulunan {!! !!} çıktı komutumuz html veya javascript kodlarını string bir değer görmez ve bu kodları yorumlayarak çıktı verir. Yani bu durumda $degiskenAdi değeri neyse kalın bir şekilde çıktı verecektir. " Tam olarak çıktımız : Merhaba "  Diğer yandan ise 3.satırda bulunan {{ }} çıktı komutumuz html veya javascript değerlerini string bir şekilde görür yani bu kullanım da html veya javascript komutları yorumlanmaz.Yani bu durumda $degiskenAdi değeri neyse kalın bir şekilde çıktı olmayacaktır. " Tam olarak çıktımız : <b> Merhaba </b> ".

 

Bu ve bunun gibi makaleleri okumak bazen kafanızı karıştırabilir. Size tavsiyem makalenin konusu ne olursa olsun kodları bizzat denemenizdir. Her zaman çok daha iyi olacaktır. 

 

Şimdide bir if php kodunu blade içerisinde hazırlayalım 

 

{{-- */ $degiskenAdi = "Merhaba"; /* --}}

@if($degiskenAdi  == "Merhaba")
    {!! "<b> $degiskenAdi </b>" !!}
@else
    Değişken değerimiz "Merhaba" Değil
@endif

 

Gördüğünüz gibi yine bir değişken tanımladık bu değişkene bir string değer verdik ve bunu if ile kontrol edip ekrana istediğimiz sonuçları yazdırdık. Birde blade direktifleri ile for deneyelim

 

@for ($i=1; $i<11; $i++)
    Sayı : {{$i}} <br/>
@endfor

 

Standart for kullanımı :) İşin aslı @ haricinde gerisi normal php kodun nerdeyse aynısı ee aynıysa neden kullanıyoruz ? en basit haliyle view içerisinde php tagı açma gereksinimi hiç bir şekilde kalmıyor. Son olarak birde foreach deneyelim

 

{{-- */ $array = array(1,2,3,4); /* --}}

@foreach($array as $i)
    Sayı : {{$i}} <br/>
@endforeach 

 

Basit bir array oluşturup içerisine değerler atadık ve bunu foreach ile $i değişkenine atarak sıra sıra ekrana yazdırdık.

 

Blade direktifleri şimdilik bu kadar daha öncede söyledim kullandıkça kullanımı daha kolay olacaktır ve daha farklı direktifleri göreceksiniz ve yinede söylediğim gibi kesinlikle kullanmanızı fazlasıyla tavsiye ediyorum. Laravel içerisinde bir çok şey uğraştırıcı gibi gözükebilir fakat bunun sebebi kullanım alışkanlığınız olmadığı içindir. İnıanın yazdığım her makale bizlere ayrı bir kolaylık sağlamaktadır. Size tavsiyem uğraştırıcı diye düşünüp kullanmaktan vazgeçmeyin biraz sabrederseniz el alışkanlığı olduktan sonra buna pişman olmayacaksınız :) 

 

Herhangi bir sorunuzda veya sadece sohbet etmek isterseniz bile bana ulaşmaktan çekinmeyin :) 


Yorumlar

Bu makaleye ait yorum bulunmamaktadır. İlk yorumu sen yapmalısın :)

Düşünceni Bizimle Paylaş