Blade Template Engine

fikretyn 

Moderatör
moderatör rank
Katılım
12 Mar 2024
Konular
38
Mesajlar
49
Tepkime puanı
23
Çevrimiçi zaman
14 saat 4 dakika
Konum
samsun
Ticaret
0 / 0 / 0
  1. Basit ve Anlaşılır Sözdizimi:Blade, HTML ile PHP kodunu kolayca birleştirmenizi sağlar. Blade direktifleri @ sembolü ile başlar.
    PHP:
    <!-- resources/views/example.blade.php -->
    <h1>{{ $title }}</h1>
    <p>{{ $description }}</p>
  2. Değişkenler ve Echo İfadeleri:Blade, değişkenleri ve ifadeleri ekrana yazdırmak için çift süslü parantezler {{ }} kullanır.
    PHP:
    <h1>{{ $user->name }}</h1>
    
    Blade ayrıca XSS saldırılarına karşı otomatik olarak koruma sağlar. Eğer ham HTML yazdırmak isterseniz, {!! !!} kullanabilirsiniz.
    bladeKodu kopyala
    
    <div>{!! $user->bio !!}</div>

  3. Kontrol Yapıları:Blade, PHP kontrol yapılarını (if, else, elseif, switch, for, foreach) destekler.


    PHP:
    @if($user->isAdmin())
    <p>Admin Panel</p>
    @else
    <p>User Dashboard</p>
    @endif
    
    bladeKodu kopyala
    
    @foreach($users as $user)
    <p>{{ $user->name }}</p>
    @endforeach



  4. Şablon Mirası (Template Inheritance):Blade, şablon mirası ile tekrar kullanılabilir şablonlar oluşturmayı kolaylaştırır. @extends, @section ve @yield direktifleri ile şablonlar arasında miras ilişkisi kurulur.

    PHP:
    <!-- resources/views/layouts/app.blade.php -->
    <!DOCTYPE html>
    <html>
    <head>
    <title>My App - @yield('title')</title>
    </head>
    <body>
    <div class="container">
    @yield('content')
    </div>
    </body>
    </html>

    PHP:
    <!-- resources/views/home.blade.php -->
    @extends('layouts.app')
    
    @section('title', 'Home Page')
    
    @section('content')
    <h1>Welcome to the Home Page</h1>
    @endsection
  5. Component ve Slotlar:Blade, tekrar kullanılabilir bileşenler ve slotlar oluşturmayı destekler.

    PHP:
    <!-- resources/views/components/alert.blade.php -->
    <div class="alert alert-{{ $type }}">
    {{ $slot }}
    </div>

    PHP:
    <!-- Kullanımı -->
    @component('components.alert', ['type' => 'danger'])
    <strong>Whoops!</strong> Something went wrong!
    @endcomponent


  6. Blade Include ve İmplementasyonları:Blade, diğer Blade dosyalarını içeri aktarmak için @include direktifini kullanır.


    PHP:
    @include('partials.header')
    
    <div class="content">
    @yield('content')
    </div>
    
    @include('partials.footer')


  7. Veri Geçişi ve Kompakt Yapılar:Blade, şablonlara veri geçişini kolaylaştırır. with metodu veya compact fonksiyonu ile veri geçişi sağlanabilir.


    PHP:
    // Controller'da
    return view('profile', ['user' => $user]);
    
    // veya
    return view('profile')->with('user', $user);
    
    // veyareturn view('profile', compact('user'));


  8. Blade Direktifleri:Laravel, Blade için birçok kullanışlı direktif sağlar ve kullanıcılar kendi özel direktiflerini tanımlayabilirler.
    PHP:
    directive('datetime', function ($expression) {
    return "<?php echo ($expression)->format('m/d/Y H:i'); ?>";
    });
    
    bladeKodu kopyala
    
    @datetime($user->created_at)

Neden Blade Kullanmalısınız?​

  • Laravel ile Entegre: Blade, Laravel'in native şablon motorudur ve framework ile mükemmel uyum sağlar.
  • Temiz ve Anlaşılır Sözdizimi: HTML ve PHP kodlarının iç içe geçmesi Blade ile daha okunabilir ve yönetilebilir hale gelir.
  • Güvenlik: Blade, XSS saldırılarına karşı otomatik koruma sağlar.
  • Performans: Blade, şablonları önbelleğe alır ve performansı artırır.
Blade Template Engine, Laravel uygulamalarında dinamik ve tekrar kullanılabilir şablonlar oluşturmayı kolaylaştırır ve geliştiricilerin işini büyük ölçüde kolaylaştırır.
 
Ana Sayfa Kayıt Ol Giriş Yap
Üst