- Katılım
- 12 Mar 2024
- Konular
- 49
- Mesajlar
- 65
- Tepkime puanı
- 24
- Çevrimiçi zaman
- 19 saat 7 dakika
- Konum
- samsun
- 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>
- 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>
- 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
- Ş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
- 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
- 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')
- 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'));
- 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.