Sitemize hoşgeldiniz!  ::  Son eklenen yazı: Git’te “master” mı “main” mi? Bir kelimenin ardındaki hikâye  ::  Toplam 63 yazı  ::  Görüş ve önerileriniz için iletişim sayfasını kullanabilirsiniz.
» Menü
Anasayfa
Hakkımda
İletişim
» Kategoriler
› nostalji (8)
› laravel (7)
› php (5)
› web (3)
› agile (3)
› go (2)
› golang (2)
› api (2)
› redis (2)
› git (2)
› github (2)
› model (1)
» Arşiv
› Ekim 2025 (2)
› Temmuz 2025 (1)
› Nisan 2025 (3)
› Mart 2025 (5)
› Şubat 2025 (1)
› Ocak 2025 (43)
› Haziran 2011 (1)
› Kasım 2009 (1)
› Temmuz 2009 (1)
› Temmuz 2007 (1)
› Ocak 2007 (1)
› Kasım 2006 (1)
› Ekim 2006 (1)
› Ağustos 2006 (1)
Anasayfa » Yazılar » Laravel Blade Components
Laravel Blade Components
Yazan: Atilla Mutlu | Tarih: 15.01.2025 13:38 | Kategori: laravel, blade, components

Laravel Blade Components, Blade şablon motorunda tekrar kullanılabilir UI (kullanıcı arayüzü) parçaları oluşturmayı kolaylaştıran bir özelliktir. Bu özellik, kodunuzu daha temiz, daha modüler ve yeniden kullanılabilir hale getirir.

Blade Components Avantajları

  • Kod Tekrarını Azaltır: Tek bir yerde oluşturduğunuz bir bileşeni, projede istediğiniz her yerde tekrar tekrar kullanabilirsiniz.
  • Okunabilirliği Artırır: Karmaşık Blade dosyalarını küçük, modüler bileşenlere ayırarak daha okunabilir hale getirebilirsiniz.
  • Test Edilebilirlik Sağlar: Her bileşen kendi bağımsız biriminde test edilebilir hale gelir.

Blade Components Nasıl Oluşturulur?

  1. Component Oluşturma:

    php artisan make:component ComponentAdi

    Örneğin:

    php artisan make:component Alert

    Bu komut, app/View/Components dizininde bir sınıf ve resources/views/components dizininde bir Blade görünüm dosyası oluşturur.

  2. Component Yapısı:

    • Sınıf: app/View/Components/Alert.php
    • View: resources/views/components/alert.blade.php
  3. Component Sınıfını Düzenleme:
    Sınıf içerisine gerekli verileri tanımlayabilirsiniz:

    namespace App\View\Components;
    
    use Illuminate\View\Component;
    
    class Alert extends Component
    {
       public $type;
       public $message;
    
       public function __construct($type, $message)
       {
           $this->type = $type;
           $this->message = $message;
       }
    
       public function render()
       {
           return view('components.alert');
       }
    }
  4. Blade Dosyasını Düzenleme:
    alert.blade.php dosyasına, bileşenin HTML yapısını yazabilirsiniz:

    <div class="alert alert-{{ $type }}">
       {{ $message }}
    </div>
  5. Component Kullanımı:
    Bileşeni Blade dosyanızda şu şekilde çağırabilirsiniz:

    <x-alert type="success" message="Bu bir başarı mesajıdır!" />
  6. Slot Kullanımı:
    Eğer içerik dinamik olacaksa, slot kullanabilirsiniz:

    • View Dosyası:
      <div class="alert alert-{{ $type }}">
       {{ $slot }}
      </div>
    • Component Kullanımı:
      <x-alert type="danger">
       Bu bir hata mesajıdır!
      </x-alert>

Ek Özellikler

  • Global Components: php artisan make:component ile oluşturulan bileşenler otomatik olarak global hale gelir. Bu, onları her yerden kullanabileceğiniz anlamına gelir.
  • Anonymous Components: Adını belirtmek zorunda kalmadan sadece view dosyaları ile bileşenler oluşturabilirsiniz. Bu, dosya adının bileşen adı olarak kullanıldığı bir yöntemdir.
    resources/views/components/button.blade.php

    Çağrılırken:

    <x-button />

Özet

Blade Components, Laravel projelerinizde daha modüler ve temiz bir yapıya ulaşmanızı sağlar. Hem kod tekrarını önler hem de UI bileşenlerini daha kolay yönetilebilir hale getirir.

« Geri dön | Yorum gönder | Yukarı ↑
» Hakkımda
A
Atilla Mutlu
Yazılım Geliştirici

Devamını oku »
» Son Yazılar
› Git’te “master” mı “main” mi? Bir kelimenin ardındaki hikâye
› Laravel Model Controller
› PostgreSQL Mini‑Kılavuz
› ReactJS Rehberi
› Spatie Laravel Paketleri
» İstatistik
Ziyaretçi Sayısı
036372
Toplam yazı: 63
PHPpowered SQLiteinside Firefoxile daha iyi CSStables ♥
Bu site en iyi 1024x768 çözünürlükte görüntülenir.
Copyright © 2006-2026
Anasayfa | Hakkımda | İletişim | Yukarı ↑
Bu sayfa 0,031 saniyede oluşturuldu.