Laravel, popüler bir PHP web uygulama geliştirme çerçevesidir ve güçlü bir şablon motoru olan Blade’i içerir. Blade, Laravel uygulamalarında dinamik HTML içeriklerini oluşturmak için kullanılan esnek ve kullanıcı dostu bir şablon motorudur. Laravel’de View kullanımı, web uygulamalarınızı daha organize, sürdürülebilir ve güvenli hale getirmenize yardımcı olabilir.

View dosyasını oluşturma

Laravel’de View dosyası oluşturmak için resources/views klasörüne yeni bir dosya ekleyebilirsiniz. Örneğin, anasayfa.blade.phpadında bir View dosyası oluşturmak için aşağıdaki gibi bir komut kullanabilirsiniz.

touch resources/views/anasayfa.blade.php

View dosyanızı oluşturduktan sonra, içeriğini Blade şablon sözdizimi kullanarak düzenleyebilirsiniz. Blade, standart PHP kodunu içeren bir şablon motorudur ve daha zengin ve kullanıcı dostu bir sözdizimine sahiptir.

View’i yönetme

Oluşturulan View dosyasını Laravel uygulamanızda kullanmak için Controller (Denetleyici) sınıfı içinden veya route (yol) tanımlamalarında View’i döndürebilirsiniz. Örneğin, aşağıdaki gibi bir Controller metodu kullanarak anasayfa.blade.php View dosyasını döndürebilirsiniz.

public function anasayfa()
{
return view('anasayfa');
}

Yukarıdaki kod, anasayfa.blade.php View dosyasını döndürerek, kullanıcının tarayıcısına gönderilecek HTML içeriğini oluşturur.

Blade Şablonlarının Temel Kullanımı

Blade, kullanımı kolay bir şablon motorudur ve Laravel View’lerinde kullanılan sözdizimi sayesinde web sayfalarınızı oluşturmayı daha hızlı ve daha kolay hale getirir. İşte Blade şablonlarının temel kullanımına ilişkin bazı örnekler:

  • Değişkenler: Blade, değişkenleri süslü parantez {} içinde kullanarak View dosyalarında kullanmanıza izin verir.
<h1>Merhaba, {{ $isim }}</h1>

Yukarıdaki kodda, $isim değişkeni View dosyasında kullanılarak dinamik bir içerik oluşturulmuştur.

  • Koşullu İfadeler: Blade, @if, @elseif ve @else gibi koşullu ifadeler kullanarak, farklı koşullara göre içeriği değiştirmenize olanak tanır.
@if($kullanici->admin)
    <p>Yönetici kullanıcı</p>
@else
    <p>Standart kullanıcı</p>
@endif

Döngüler: Blade, @foreach, @for ve @while gibi döngüler kullanarak, bir dizi veya koleksiyon üzerinde döngü yapmanıza olanak tanır.

@foreach($kullanicilar as $kullanici)
    <p>{{ $kullanici->isim }}</p>
@endforeach

Blade Şablonlarının Gelişmiş Kullanımı

Blade, gelişmiş kullanım seçenekleri sunar ve Laravel View’lerinde daha karmaşık yapılar oluşturmanıza olanak tanır. İşte Blade şablonlarının gelişmiş kullanımına ilişkin bazı örnekler:

  • Şablona Miras Alma ve Bölüm Kullanma: Blade, şablona miras alma ve bölüm kullanma özelliklerine sahiptir. Şablona miras alma, temel bir şablonun oluşturulup diğer şablonların bu temel şablona miras alması işlemini ifade eder. Böylece, ortak bir şablonunuz varsa ve farklı View dosyalarınızın aynı temel şablona sahip olmasını istiyorsanız, miras alma kullanabilirsiniz.
  • Master (Ana) Şablon (master.blade.php)
<!DOCTYPE html>
<html>
<head>
    <title>@yield('baslik')</title>
</head>
<body>
    <header>
        <!-- Header içeriği -->
    </header>

    <main>
        @yield('icerik')
    </main>

    <footer>
        <!-- Footer içeriği -->
    </footer>
</body>
</html>
  • Alt Şablon (anasayfa.blade.php)
@extends('master')

@section('baslik', 'Anasayfa')

@section('icerik')
    <h1>Merhaba, Dünya!</h1>
    <p>Bu, anasayfa içeriğidir.</p>
@endsection

Yukarıdaki örnekte, master.blade.php adlı bir temel şablon oluşturulmuş ve anasayfa.blade.php adlı bir alt şablon bu temel şablona miras almıştır. Alt şablon, @extends ve @section direktifleri kullanılarak temel şablonun belirli bölümlerini (@yield) doldurmuştur.

  • Şablon Bölümleri: Blade, View dosyalarında tekrar eden bölümleri ayırmanıza ve bunları ayrı dosyalarda tutmanıza olanak tanır. Bu sayede, ortak bileşenlerinizi ayrı dosyalarda tutarak kod tekrarını azaltabilir ve daha düzenli bir yapı elde edebilirsiniz.

Header Bölümü (header.blade.php)

<header>
    <!-- Header içeriği -->
</header>

Footer Bölümü (footer.blade.php)

<footer>
    <!-- Footer içeriği -->
</footer>

Master (Ana) Şablon (master.blade.php)

<!DOCTYPE html>
<html>
<head>
    <title>@yield('baslik')</title>
</head>
<body>
    @include('header')

    <main>
        @yield('icerik')
    </main>

    @include('footer')
</body>
</html>

Yukarıdaki örnekte, header.blade.php ve footer.blade.php adlı iki ayrı bölüm dosyası oluşturulmuş ve master.blade.php adlı temel şablon, bu bölümleri @include direktifi ile dahil ederek kullanmıştır.
Route tanımı (routes/web.php)

Route::get('/anasayfa', 'AnasayfaController@index')->name('anasayfa');

Link Oluşturma (anasayfa.blade.php)

<a href="{{ route('anasayfa') }}">Anasayfa</a>

Yukarıdaki örnekte, route() fonksiyonu kullanılarak anasayfa adlı bir URL oluşturulmuş ve bu URL, AnasayfaController@index metotunu çağıran bir bağlantıya dönüştürülmüştür.

  • Formlar: Blade, form oluşturma işlemini kolaylaştırır ve otomatik olarak CSRF koruması ekler. Formlarda kullanılan tüm HTML etiketleri, direktifler ve hataları kolayca yönetmenize olanak tanır.
<form action="/kaydet" method="post">
    @csrf
    <input type="text" name="ad" value="{{ old('ad') }}">
    <input type="text" name="soyad" value="{{ old('soyad') }}">
    <button type="submit">Kaydet</button>
</form>

Yukarıdaki örnekte, @csrf direktifi kullanılarak CSRF koruması eklenmiş ve old() fonksiyonu kullanılarak form hatalarından sonra kullanıcının girdiği verilerin tekrar doldurulması sağlanmıştır.

Sonuç olarak, Laravel’in güçlü ve esnek Blade görüntüleme motoru, web uygulamaları geliştirmek için kullanışlı bir araçtır. Blade, PHP kodunu temiz ve okunabilir bir şekilde yazmanıza olanak tanırken, dinamik içerik oluşturmak, şartlı ifadeler ve döngüler kullanmak, form oluşturmak ve dil desteği eklemek gibi yaygın web geliştirme görevlerini kolaylaştırır. Laravel belgelerinde daha fazla bilgi bulabilir ve Blade’i etkili bir şekilde kullanarak güçlü ve dinamik web uygulamaları oluşturabilirsiniz.

Shares:

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir