Laravel Blade Template Kullanımı

Laravel Blade Template Kullanımı

Hepinize merhaba dostlarım 😊. Daha önceki yazımda yani Laravel View Oluşturma başlıklı yazımda (okumayan dostlarım varsa buradan ulaşabilir) view oluşturma işleminden size birazcık bahsetmiştim 😊. Ve bu paramete gönderdikten sonra da bunun ekrana bastırılma işlemlerine değinmiştim (string interpolation konusu)

Şimdi ise bu view kısmını oluşturduğumuzda (blade olarak tanımladığımızda) bizim aslında laravel üzerinde ne gibi kolaylıkların beklediğini bu dersimizde açıkça değinmiş olacağız dostlarım 😊. Şimdi gelelim öncelikle neden blade şablon motoru kullanma ihtiyacı duyarız gelin birlikte onlara bakalım 😊

 NEDEN BLADE ŞABLON MOTORU KULLANIRIZ ?

Eveeeet 😊. Artık konumuza yavaştan yavaştan giriş yapmaya başladık dostlarım 😊. Önceki dersten de view oluşturma ve kullanma, içerisine parametre gönderme işleminde sonra sizin aklınızdaki soru aşağıdaki gibi olmuştur:

Neden blade şablon motorunu kullandık acaba ?

şeklinde bir sorunun olduğunu rahatlıkla seziyorum 😊. Özellikle ben de laravel frameworküne ilk başladığım zamanlarda bu soru aklımı çok fazla kurcalıyordu. Şimdi gelelim bunu kullanma nedenimize

Dostlarım blade şablon motorun na genel olarak bakacak olursak bizim projemizin hızlı bir şekilde oluşmasında, master bir layout oluşturmamızda (bunu bir diğer derste göreceğiz 😊), uzun uzun php tagleri yazıp kodlamada karmaşa oluşmasını önleyen, dediğim gibi kodlama işlemlerini daha da hızlandırıp bizim sonuca daha çabuk ulaşmamıza yardımcı olur, ayrıca projemizin güvenliği açısından da xss e izin vermez (ama sizin her halükarda güvenlik yazmanızı tavsiye ederim 😊). Şimdi gelelim artık dostlarım bu blade template içerisinde php kodlamaları nasıl yapılıyor bunlara bir göz atalım derim 😊. Kemerlerinizi bağlamışsanız yavaş yavaş uçuşa geçebiliriz

PHP TAGLERİNİN KULLANIMI

Ve geldik dostlarım artık yavaştan yavaştan blade şablon motoru muzun üzerinde php taglerinin nasıl açıldığına. Aslında bu başlığa bu konumuzda blade kullanımı nın ilk başlığı olarak bakabiliriz 😊. Şimdi dostlarım öncelikle terminal kısmımıza gelip HomeController isimli bir controller dosyası oluşturalım 😊 (controller oluşturma kısmında takılan dostlarım varsa buradan ulaşabilir 😊)Controller dosyamızı oluşturduktan sonra ise gelelim routes/web.php kısmına ve

Route::group(['prefix'=>'/'],function (){
    Route::get('','HomeController@index');
});

şeklinde bir rota oluşturalım. Yani projemiz açıldığında çalışacak olan Controller ve methodumuzu ayarladık (bu kısımda da aklı karışan dostlarım varsa buradan yararlanabilir 😊). Bu kısmı da tamamladığımıza göre resources klasörümüzün altında bir view oluşturmamız lazım 😊. Ben bu view dosyasını blade klasörü altında index.blade.php şeklinde oluşturdum dostlarım 😊. Bu kısmda kadar da tamam ise dostlarım şimdi gelelim HomeController dosyamıza 😊. Burada da route daki gerçekleşecek yani tetiklenecek olan methodumuzu yazalım ve çalışacak olan index.blade.php nin yolunu verelim. Hemen HomeController dosyamızı açtık ve

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class HomeController extends Controller
{
    public function index(){
        return view('blade.index');
    }
}

şeklinde çağrılacak olan view imizi return ettirme işlemimizi ayarladık. Şimdi sıra index.blade.php dosyamıza geldi dostlarım 😊

Normalde biz bir değişken tanımlayacak olurken veya bir php kodu yazacak olurken aşağıdaki gibi yani

<?php 
$name = "MFSoftware Blog";
echo $name;
?>

şeklinde uzun uzun kod yazıyorduk, php taglerini aç, küçüktür büyüktür vs koy bir sürü iş yığılıyordu bize 😊. Şimdi sizin aklınızdaki soruya gelelim çünkü seziyorum 😊

Hocam blade şablon motoru bunu desteklemiyor mu yoksa ?

şeklinde sorular sizin zihninizde yer etmeye başlamış olabilir 😊. Cevabım ise "Destekler, ve kod rahat bir şekilde çalışır" şeklinde olacaktır 😊. Kodu çalıştırdığımızda yani browser sayfasını açtığımızda

MFSoftware Blog

şeklinde rahat bir çıktı bize dönecektir 😊. Şimdiiii gelelim biz bunu blade kısmında nasıl yapacağız gelin bir de ona bakalım 😊. İşlem o kadar basit ki hiçbir zor yanı yok. Yukarıdaki işlemi gelelim

@php
$name = "MFSoftware Blog";
echo $name;
@endphp

şeklinde yazalım 😊. Yani @php ve @endphp ile biz php taglerinin açılış ve kapanış oklarını belirttik diyebilirim herhangi bir karmaşa yok 😊. Kodumuzu browser üzerinde çalıştırdığımızda

MFSoftware Blog

şeklinde bir çıktı alacağız dostlarım 😊. İşlemler işte bu kadar basit. Şimdi gelelim bir diğer kısmımıza

IF-ELSE KULLANIMI

Her programlama dillerinin vazgeçilmezi niteliğinde olan ve php programlama dilinde de kullanıllan if else karar yapısının blade şablon motoru üzerinde kullanımı da bir nebze insanı meraklandırmıyor değil dostlarım 😊. Normalde biz bunu aşağıdaki şekildeki gibi yapıyorduk

<?php
    $yas = 21;
    if ($yas >= 18){
        echo "Ehliyet Alabilir";
    }else{
        echo "Ehliyet Alamaz";
    }
?>

şeklinde uzun uzun bir php tag i aç kapat, sonrasında içerisine if else kısmını yaz süslü parantezleri oluştur vs vs bir sürü karmaşa oluyordu 😉. Ama bu kodu da çalıştırabiliyorduk o açıdan sorunumuz olmuyordu dostlarım 😊. Bunu browser sayfamızda çalıştırdığımızda

Ehliyet Alabilir

şeklinde bir çıktı bizi karşılıyor olacaktır. Buraya kadar tamamız sıkıntı yok 😊. Peki ya bunu blade kısmında nasıl oluşturacağız gelin onu da inceleyelim

@php
    $yas = 21;
@endphp

@if($yas>=21)
    Ehliyet Alabilir
@else
    Ehliyet Alamaz
@endif

şeklinde kodlarımızı yazmış bulunmaktayız dostlarım 😊. Normalde en üstteki gibi her zaman @php @endphp şeklinde bir değişken oluşturmayız bu değişkenimiz zaten controller üzerinden view kısmımmıza bir parametre olarak geleceği için sıkıntı yok 😉. Bu kodumuzu browser üzerinde çalıştıralım ve sonucumuza bakalım dostlarım

Ehliyet Alabilir

şeklinde sonucumuzun sorunsuz bir şekilde ekranımıza bastırıldığını görmüş bulunmaktayız dostlarım 😊. Artık işlemlerimizde blade şablon motoru nun kullanıldığını görünce kodlarımızı daha derli toplu bir şekilde yazmamıza olanak sağladığını sezmişsinizdir 😊. Şimdi bu kısım da tamam ise gelelim bir diğer konumuza

IF-ELSE IF-ELSE KULLANIMI

Artık if-else konumuzdan sonra geldik artık if-else if-else konumuza 😊. Diğer programlama dillerinde olduğu gibi PHP programlama dilinde de her zaman sadece ve sadece if else kulllanacağız diye bir kaide yok. Gün gelecek if-else if-else kullanacağız 😊. Bunu normalde biz php dosyamızda örnek vermemiz gerekirse

<?php
    $cinsiyet = 1;
    if ($cinsiyet==1){
        echo "Erkek";
    }elseif ($cinsiyet==0){
        echo "Bayan";
    }else{
        echo "Cinsiyet Belirtilmemiş";
    }
?>

şeklinde oluşturuyorduk. Uzun bir php tagi ve içerisine if else blokları, süslü parantezler açıp işlerimizi gerçekleştiriyorduk. Bu şekilde yazalım ve kodumuzu çalıştıralım nasıl bir çıktı gelecek karşımıza bir bakalım 😊

Erkek

şeklinde çıktımız bize verilmiş oldu işlemler sıkıntısız bir şekilde çalışıyor 😊. Şimdi ise gelelim dostlarım ve bu işlemin blade şablon motoru ile nasıl hızlı bir şekilde gerçekleştiğine bir göz atalım 😊. Hemen kodlama kısmımızı (yani blade kısmımızı) açalım ve

@php
    $cinsiyet = 0;
@endphp

@if($cinsiyet==1)
    Erkek
@elseif($cinsiyet==0)
    Bayan
@else
    Cinsiyet Belirtilmemiş
@endif

  şeklinde kodlarımızı yazalım. Kodda ufak değişiklik yaptık ve sonucun elseif kısmına düşmesini sağladık. Kodu browser üzerinde çalıştırırsak

Bayan

şeklinde bir çıktının bizim karşımıza geldiğini çok rahat bir şekilde görürüz dostlarım 😊. Bütün işlemler blade şablon motoru ile işte bu kadar basit 😊. Bu kısma kadar tamam isek dostlarım gelelim artık bir diğer konumuza 😊

FOR DÖNGÜSÜ KULLANIMI

Geldik artık zevkli konulardan birisi olan döngülerimize 😊. Artık bunu tekrar tekrar dememe gerek yok çünkü her programlama dilinde olan bir şeydir döngüler. Bunun blade şablon motoru kullanmadan önce nasıl kullanıldığı ile ilgili bir örnek yapalım istiyorum 😊. Hemen blade kısmımızı açalım ve

<?php
    for ($i=1; $i<=5; $i++){
        if ($i%2==0){
            echo $i." Sayısı Çift<br>";
        }else{
            echo $i." Sayısı Tek<br>";
        }
    }
?>

şeklinde ufak bir örnek yapalım 😊. Önceki zamanlarda yani blade şablon motoru kullanmadan bu şekilde yapabiliyorduk 😊. Bu kodumuzu browser kısmında çalıştıralım hızlıca

1 Sayısı Tek
2 Sayısı Çift
3 Sayısı Tek
4 Sayısı Çift
5 Sayısı Tek

 şeklinde sonuç çıktısı bize rahat bir şekilde verilmiş oluyor dostlarım buraya kadar sorunumuz yok 😊. Ama laravel ile proje geliştirirken bunu blade şablon motoru nun bize sunduğu kolaylıkları kullanarak yazmamız bize oldukça yarar sağlayacaktır 😊. Gelin hızlıca bunu da yazalım

@for($i=1; $i<=5; $i++)
    @if($i%2==0)
        {{ $i." Sayısı Çift" }} <br>
    @else
        {{ $i." Sayısı Tek" }} <br>
    @endif
@endfor

şeklinde kodlarımızı yazdık. Görüyorsunuz değil mi önceki örnekteki kodlara nazaran ne kadar derli ve toplu duruyor 😊. Şimdi gelelim dostlarım ve bunu da browser üzerinde çalıştıralım 😊.

1 Sayısı Tek
2 Sayısı Çift
3 Sayısı Tek
4 Sayısı Çift
5 Sayısı Tek

şeklinde sonuçlarımız sorunsuz bir şekilde karşımıza çıkıyor dostlarım 😊. Olay gayet basit 😊. Gelelim bir diğer konumuza daha

WHILE DÖNGÜSÜ KULLANIMI

While döngüsünün çalışma mantığını hepimiz biliyoruz. Bunun içerisinde dönen şart koşul sağlandığı sürece çalışan ve koşul sağlanıyorsa içerisine tanımladığımız işlemleri gerçekleştiren bir döngüdür. Öncelikle bunu blade şablon motoru olmadan nasıl yapıldığını ve daha sonrasında blade şablon motoru kullanarak nasıl yapıldığından bahsedeceğim 😊. Hemen kodlama kısmımızı açalım ve

<?php
    $dongu = 1;
    while ($dongu<=5){
        echo "Döngü Devam Ediyor <br>";
        $dongu++;
    }
    echo "Döngü Bitti";
?>

şeklinde kodumuzu yazalım. Daha öncesinde blade şablon motoru kullanmadan bu şekilde yazıyorduk hepimiz biliyoruz dostlarım 😊. Bu kodu browser üzerinde açtığımızda ise

Döngü Devam Ediyor
Döngü Devam Ediyor
Döngü Devam Ediyor
Döngü Devam Ediyor
Döngü Devam Ediyor
Döngü Bitti

şeklinde ekranımıza kodlarımızın çıktısını bastırdık. Kodlarımız gayet sorunsuz bir şekilde çalışıyor 💯. Şimdi gelelim dostlarım bunu bir de blade şablon motoru kullanarak yazalım 😊. Hemen kodlama kısmımıza gelip

@php
    $dongu = 1;
@endphp

@while($dongu<=5)
    Döngü Devam Ediyor <br>
    @php
        $dongu++;
    @endphp
@endwhile
Döngü Bitti

şeklinde kodlarımızı yazıyoruz 😊. İşlemlerimiz işte bu kadar basit ve hızlı dostlarım hiçbir karmaşıklığı yok 😊. Yukarıdaki @php @endphp daha önceki başlıklarda da değindiğim gibi zorunlu olarak tanımlanacak bir şey değil bize değişken controller kısmından geleceği için normalde bunu yazmamız gerekmeyecek 😊. Şu anlık sadece blade şablon motoru üzerinde çalıştığımız için bu şekilde bir değişken tanımlama gereği duyduk. Şimdi ise gelelim kodun çıktısına 😊. Browser sayfamızı açtığımızda

Döngü Devam Ediyor
Döngü Devam Ediyor
Döngü Devam Ediyor
Döngü Devam Ediyor
Döngü Devam Ediyor
Döngü Bitti

şeklinde kodlarımızın çıktısı başarılı bir şekilde verilecektir dostlarım 💯😊. Bütün işlemlerimiz işte bu kadar basit 😊. Gelelim bir diğer konumuza

FOREACH DÖNGÜSÜ KULLANIMI

Diziler üzerinde foreach döngüsünün sıklıkla kullanıldığını programlamaya başladığımız günden bu yana hepimiz biliyoruz dostlarım. Şimdi zihninizde şu sorunun varlığını seziyorum

Hocam yok artık foreach için de mi blade şablon motoru bize kolaylık sağlıyor 😊 ? Vallahi çok iyiymiş 

şeklinde bir sorunun olduğunu ciddi ciddi seziyorum 😊. Cevabım ise "Elbette kolaylık sağlıyor 😊. Bunun gibi daha birçok kolaylık sağlanıyor" diyebilirim 😊. Şimdi blade şablon motoru kullanmadan bu foreach döngüsünü nasıl oluşturuyorduk gelin bir göz atalım. Hemen kodlama kısmımıza gelelim ve 

<?php
$dizi = ["Zafer YILDIZ", "Emrullah TANIMA", "Muhammed Fatih BAĞCIVAN", "Aylin DURAN"];
foreach ($dizi as $key => $value){
    echo "Dizinin ".$key.". indisinin değeri ".$value."<br>";
}
?>

şeklinde kodlarımızı yazdık. Browser kısmında kodumuzu çalıştırdığımızda ekranımıza gelen çıktı

Dizinin 0. indisinin değeri Zafer YILDIZ
Dizinin 1. indisinin değeri Emrullah TANIMA
Dizinin 2. indisinin değeri Muhammed Fatih BAĞCIVAN
Dizinin 3. indisinin değeri Aylin DURAN

şeklinde gözükecektir 😊. Kodlarımız başarılı bir şekilde çalışıyor 💯. Şimdi gelelim bu işlemi blade şablon motoru kullanarak yazalım 😊. Hemen kodlama kısmımızı açalım ve

@php
    $dizi = ["Zafer YILDIZ", "Emrullah TANIMA", "Muhammed Fatih BAĞCIVAN", "Aylin DURAN"];
@endphp

@foreach($dizi as $key=>$value)
    Dizinin {{ $key }} indisinin değeri {{ $value }} <br>
@endforeach

şeklinde kodlarımızı yazalım 😊. Kodlarımızı yazdığımıza göre sıra geldi test etme aşamasına 😊. Hemen browser sayfamızı açalım ve

Dizinin 0 indisinin değeri Zafer YILDIZ
Dizinin 1 indisinin değeri Emrullah TANIMA
Dizinin 2 indisinin değeri Muhammed Fatih BAĞCIVAN
Dizinin 3 indisinin değeri Aylin DURAN

şeklinde kodlarımızın başarıyla çalıştığını ve ekranımıza sorunsuz bir şekilde basıldığını görüyoruz 😊. Her şey 10 numara 😉. Gelelim bir diğer konumuza

FORELSE DÖNGÜSÜ KULLANIMI

Geldik bir diğer döngümüze daha 😊. İsmi size garip gelecektir bunu seziyorum dostlarım 😊. Çünkü normalde programlama dillerinde böyle bir döngüyle hiç karşılaşmadık. Bu forelse döngüsü tamamen blade şablon motoru içerisinde geliştirilmiş ve bize son derece kolaylık sağlayan bir döngüdür 😊. Amacına bakacak olursak dostlarım size şöyle anlatayım. Biz normalde bir diziyi foreach döngüsü ile yazıyoruz ya heh işte burada foreach döngüsüne gönderdiğimiz dizi içeriği boş ise hata veriyor. Normalde bunu blade şablon motoru kullanmadan önce bir if else ile kontrol ederdik. Ama forelse kısmı bu işi tamamen kolaylaştırıyor 😊. Hemen gelelim öncelikle bunu blade şablon motoru kullanmadan yazmayı deneyelim. Hemen kodlama kısmımızı açalım ve

<?php
 $dizi = [];

 if (empty($dizi)){
     echo "Dizi İçeriği Boş";
 }else{
     foreach ($dizi as $key => $value){
         echo "Dizinin ".$key." indisinin değeri ".$value."<br>";
     }
 }
?>

şeklinde kodlarımızı yazalım 😊. Şimdi ise browser sayfamızı açalım ve yazdığımız kodu test edelim 😊

Dizi İçeriği Boş

şeklinde kodumuzun çıktısı başarılı bir şekilde ekranımıza bastırıldı dostlarım 💯😊. Şimdi ise gelelim aynı işlemi blade şablon motoru kullanarak yapalım 😊. Hemen kodlama sayfamızı açalım ve

@php
    $dizi = [];
@endphp

@forelse($dizi as $key => $value)
    Dizinin {{ $key }} indisinin değeri {{ $value }} <br>
@empty
    Dizi İçeriği Boş
@endforelse

şeklinde kodlarımızı yazdık dostlarım 😊. Görüyorsunuz önceki kodlama işlemi gibi karmaşalık ve uzunluk yok az kodla çok iş yaptık 😊.Kodumuzu browser üzerinde çalıştırdığımızda ise

Dizi İçeriği Boş

şeklinde kodumuzun çıktısı sorunsuz bir şekilde ekrana bastırılacaktır 😊. Kodlarımız sorunsuz bir şekilde çalışıyor 💯.  Bu kısma kadar her şey tamam ise gelelim bir diğer kısmımıza dostlarım 😊

SWITCH - CASE KULLANIMI

İsmini görür görmez biliyoruz dostlarım bunun kullanım amacını 😊. Özellikle birden fazla if else tanımlamalarına karşı geliştirilmiş bizim birden fazla sorgu yapmamıza yarayan bir yapıdır 😊. Gelin şimdi bu yapıyı öncelikle blade şablon motoru kullanmadan deneyelim, sonrasında ise blade şablon motoru kullanarak deneyelim 😊. Hemen kodlama kısmımızı açalım ve

<?php
    $dogum_ayi = 6;
switch ($dogum_ayi) {
    case 1:
        echo "Ocak Ayında Doğdunuz";
        break;
    case 2:
        echo "Şubat Ayında Doğdunuz";
        break;
    case 3:
        echo "Mart Ayında Doğdunuz";
        break;
    case 4:
        echo "Nisan Ayında Doğdunuz";
        break;
    case 5:
        echo "Mayıs Ayında Doğdunuz";
        break;
    case 6:
        echo "Haziran Ayında Doğdunuz";
        break;
    default:
        echo "Ay Bilgisi Alınamadı";
        break;
}

?>

şeklinde kodlarımızı yazdık dostlarım 😊. Benim doğduğum ayı yani Haziran ayının numarasını alıp bunu tek tek kontrol ettirdik 😉. Daha sonra ise ekrana bastırılma işlemini ayarladık. Hemen gelelim browser sayfamızı açalım ve yazdığımız kodu test edelim 😊.

Haziran Ayında Doğdunuz

şeklinde yazdığımız kodumuz ekranımıza rahatlıkla bastırıldı dostlarım 😊. Şimdi gelelim bu yazdığımız switch case yapısını blade şablon motoru kısmında gerçekleştirelim 😊. Hemen kodlama kısmını açalım ve

@php
    $dogum_ayi = 6;
@endphp

@switch($dogum_ayi)
    @case(1)
        Ocak Ayında Doğdunuz
        @break
    @case(2)
        Şubat Ayında Doğdunuz
        @break
    @case(3)
        Mart Ayında Doğdunuz
        @break
    @case(4)
        Nisan Ayında Doğdunuz
        @break
    @case(5)
        Mayıs Ayında Doğdunuz
        @break
    @case(6)
        Haziran Ayında Doğdunuz
        @break
    @default
        Ay Bilgisi Alınamadı
        @break
@endswitch

şeklinde kodlarımızı yazdık dostlarım 😊. Gayet düzenli ve temiz bir yapıda görünüyor 😊. Kodlarımızı yazdığımıza göre dostlarım sıra geldi bunların test aşamasına 😊. Hemen browser sayfamıza geçişimizi yapalım ve test işlemlerimize başlayalım. Browser sayfasında kodumuzu çalıştırdığımızda

Haziran Ayında Doğdunuz

şeklinde kodumuzun çıktısını rahatlıkla göreceğiz 😊. Buradan da anlayacağımız ve bizi mutlu eden tek şey "Kodlarımız Başarılı Bir Şekilde Çalışıyor 😊💯".

 

Eveeeet dostlarım 😊. Bu yazımda sizlere Laravel frameworkü üzerinde kullanılan ve işlerimizi oldukça kolaylaştıran blade şablon motoru kullanımından elimden geldiğince dilim döndüğünce bahsetmeye çalıştım. Umarım faydalı olmuşumdur dostlarım. Eksik veya hatalı bir anlatım yapmışsam benimle iletişime geçmekten çekinmeyin 😊. Konu başlarda biraz karmaşık veya zor gelebilir dostlarım anlıyorum sizi. Her öğrenme süreci sancılı geçer 😊. Bu süreçte sizlerden istediğim tek şey "İstikrarlı ve Azimli Olmalısınız, Bolca Pratik Yapmalısınız 😊". Bu dediklerimi hayat felsefeniz yaptığınız sürece başarı sizler için kaçınılmaz olacaktır 😊

Hayallerinizi gerçekleştirmeniz ve güzel yerlere gelmeniz dileklerimle... İyi çalışmalar dilerim 😊

Muhammed Fatih BAĞCIVAN
Yazar Hakkında

Kendi Halinde Bir Backend Developer

Önceki YazıNode.js MongoDB Veri Silme İşlemi
Sonraki YazıPHP Namespace Kullanımı
Yorumlar (0)
Bu Yazıya Ait Hiçbir Yorum Bulunamadı (veya admin onaylamadı). İlk Yorum Yapan Sen Ol
Yorum Yapabilirsiniz