Laravel 11 Blade Söz Dizimi Detaylı Anlatım

Merhaba bu ders ile laravel 11 blade syntax (söz dizimini) detaylı bir şekilde öğreneceksiniz. Diğer laravel 11 dersleri için sitemizi ve youtube kanalımızı takip edin. 

Şafak Saraçoğlu YouTube | Laravel 11 Eğitim Seti

Blade, Laravel'in güçlü ve esnek bir şablon motorudur. Geliştiricilere dinamik web sayfaları oluştururken PHP ile HTML arasında köprü kurma imkânı sağlar. Blade’in sunduğu zengin yapılarla, kodlar daha okunaklı hale gelir ve bakımı kolaylaşır. Bu makalede Blade söz dizimini detaylıca inceleyeceğiz ve tüm kodları tek bir dosyada bir araya getirip açıklama satırları ile ne yaptığını belirteceğiz.

Laravel 11 Blade Söz Dizimi Detaylı Anlatım Örnekleri;

{{-- Yorum Satırı: Bu yorum satırı Blade tarafından HTML çıktısına dahil edilmez --}}
{{-- Blade de yorum satırları böyle kullanılır --}}

---------------------------------------------

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <title>Laravel 11 Blade Söz Dizimi</title>
</head>
<body>

 {{-- Blade Değişkenlerin Kullanımı --}}
 {{-- {{ $variable }} ifadesi Blade in değişkenleri ekrana basma yöntemidir --}}
 @php
 $name = 'Şafak Saraçoğlu';
 $age = 35;
 $isAdmin = true;
 @endphp

 <h1>Merhaba, {{ $name }}!</h1> {{-- Merhaba, Şafak Saraçoğlu! yazdırır --}}
 <p>Yaşınız: {{ $age }}</p> {{-- Yaşınız: 35 yazdırır --}}

---------------------------------------------

 {{-- Koşullu Yapılar --}}
 {{-- Blade @if, @elseif, @else yapıları ile koşullu ifadeler yazabilirsiniz --}}
 @if($isAdmin)
 <p>Yönetici paneline hoş geldiniz!</p> {{-- Eğer $isAdmin true ise bu satır yazdırılır --}}
 @else
 <p>Kullanıcı paneline hoş geldiniz!</p> {{-- Eğer $isAdmin false olsaydı bu satır yazdırılırdı --}}
 @endif

---------------------------------------------

 {{-- Döngüler --}}
 {{-- @for, @foreach ve @while Blade içinde döngü kurmanın yollarıdır --}}
 <h2>Sayılar:</h2>
 <ul>
 @for($i = 0; $i < 5; $i++)
 <li>{{ $i }}</li> {{-- 0 dan 4 e kadar olan sayıları yazdırır --}}
 @endfor
 </ul>

 <h2>Veri Listesi:</h2>
 @php
 $items = ['PHP', 'Laravel', 'Blade', 'Vue.js'];
 @endphp
 <ul>
 @foreach($items as $item)
 <li>{{ $item }}</li> {{-- PHP, Laravel, Blade, Vue.js elemanlarını listeler --}}
 @endforeach
 </ul>

---------------------------------------------

 {{-- @forelse Döngüsü --}}
 {{-- forelse, dizide eleman varsa döngüyü çalıştırır, yoksa alternatif bir mesaj gösterir --}}
 @php
 $emptyArray = [];
 @endphp
 <h2>Boş Dizi Kontrolü:</h2>
 <ul>
 @forelse($emptyArray as $element)
 <li>{{ $element }}</li>
 @empty
 <p>Dizi boş!</p> {{-- Eğer $emptyArray boş ise bu mesaj yazdırılır --}}
 @endforelse
 </ul>

---------------------------------------------

 {{-- Blade Yönlendirmeleri --}}
 {{-- @include ile harici dosyalar şablonunuza dahil edebilirsiniz --}}
 @include('partials.header') {{-- "partials/header.blade.php" dosyasını buraya dahil eder --}}

---------------------------------------------

 {{-- Blade @extends ve @section Kullanımı --}}
 {{-- @extends, şablonun hangi ana layout u kullanacağını belirler --}}
 {{-- @section ile ana layout içinde hangi kısımlara içerik ekleyeceğinizi belirtirsiniz --}}
 @extends('layouts.app')

 @section('content')
 <h2>Bu içerik ana layout taki content alanına yerleşir.</h2>
 @endsection

---------------------------------------------

 {{-- Blade Direktifleri --}}
 {{-- @csrf direktifi ile formlara CSRF token ekleyebilirsiniz --}}
 <form method="POST" action="/submit">
 @csrf
 <label for="name">Adınız:</label>
 <input type="text" id="name" name="name">
 <button type="submit">Gönder</button>
 </form>

---------------------------------------------

 {{-- @method Direktifi --}}
 {{-- @method direktifi, formda PUT, PATCH veya DELETE gibi HTTP metodlarını belirtir --}}
 <form method="POST" action="/update">
 @csrf
 @method('PUT') {{-- Bu form aslında PUT methodunu kullanır --}}
 <label for="email">E-posta:</label>
 <input type="email" id="email" name="email">
 <button type="submit">Güncelle</button>
 </form>

---------------------------------------------

 {{-- Blade Komponentleri --}}
 {{-- Blade bileşenleri yeniden kullanılabilir şablon parçalarıdır --}}
 <x-alert type="success" message="İşlem başarıyla tamamlandı!" /> {{-- Success mesajı görüntüler --}}

---------------------------------------------
 
 {{-- Blade @php Direktifi --}}
 {{-- PHP kodlarını Blade şablonunda çalıştırmak için @php kullanabilirsiniz --}}
 @php
 $now = date('Y-m-d H:i:s');
 @endphp
 <p>Şu anki zaman: {{ $now }}</p> {{-- Sunucunun şu anki tarih ve saati yazdırılır --}}

</body>
</html>

Laravel 11 Blade Söz Dizimi Detaylı Anlatım Açıklamaları

  • Blade Yorum Satırları: {{-- --}} ile Blade'de yorum ekleyebiliriz. Bu yorumlar sayfa çıktısında gözükmez.
  • Değişkenler: {{ $variable }} ifadesi ile PHP değişkenlerini Blade dosyasına ekleriz. Blade XSS koruması sağlar.
  • Koşullar: @if, @else, @elseif yapıları, Blade içinde koşullu mantık işlemleri için kullanılır.
  • Döngüler: @for, @foreach, @while, @forelse döngüleri ile veri tekrarını sağlar. @forelse dizinin boş olup olmadığını kontrol eder.
  • Şablonlar: @include başka bir Blade dosyasını mevcut şablona ekler. @extends ve @section, layout dosyaları ile ana şablon yapısını sağlar.
  • Formlar ve Güvenlik: @csrf, formlara CSRF token ekler. @method, formun HTTP metodunu belirtir (örneğin PUT, PATCH).
  • Komponentler: Blade komponentleri ile tekrar eden şablonları yeniden kullanılabilir şekilde oluşturabiliriz (<x-component>).

Bu tek editör içinde kullanılan örnek kod, Blade'in çeşitli yönlerini öğrenmek için kapsamlı bir temel sağlar.