Ders Notu
Blade Direktifleri
Blade direktifleri, Blade şablonlarında özel işlevlere sahip ifadelerdir. Bu direktifler, şablonları daha verimli bir şekilde oluşturmamıza ve tekrar kullanmamıza yardımcı olur. Bu başlık altında, Blade direktifleri ve nasıl kullanıldıkları ayrıntılı bir şekilde incelenecektir.
@extends ve @section Direktifleri
@extends, bir şablonun diğer bir şablona miras alınmasını sağlar. Böylece, şablonları hiyerarşik bir yapıda kullanabilir ve tekrar eden bileşenleri kolayca yönetebiliriz. Miras alınan şablonlar, @yield ile belirtilen yerlerde içeriklerini oluşturabilirler.
Ana Şablon: layout.blade.php
<!DOCTYPE html>
<html>
<head>
<title>@yield('title')</title>
</head>
<body>
<div class="container">
@yield('content')
</div>
</body>
</html>
Alt Şablon: home.blade.php
@extends('layout')
@section('title', 'Ana Sayfa')
@section('content')
<h1>Hoşgeldiniz!</h1>
@endsection
Yukarıdaki örnekte, home.blade.php şablonu layout.blade.php şablonunu miras alır. @extends ile miras alınan şablon belirtilir ve @section direktifi ile title ve content bölgeleri tanımlanır. Bu sayede, @yield ile belirtilen yerlerde içerikler oluşturulabilir.
@yield ve @section Direktifleri
@yield ve @section direktifleri, Blade şablonlarında içerik bloklarını tanımlamak ve bunları başka şablonlarda kullanmak için kullanılır.
Örnek Kullanım:
@section('content')
<p>Şablon içeriği burada olacak.</p>
@endsection
Yukarıdaki örnekte, @section direktifi ile content adında bir içerik bloğu tanımlanır. Bu içerik bloğu, başka bir şablon tarafından @yield('content') ile çağrılabilir.
@include Direktifi
@include, başka bir Blade şablonunu mevcut şablonun içerisine dahil etmek için kullanılır. Bu sayede, tekrar eden bileşenleri farklı şablonlarda tek bir yerden yönetebiliriz.
Örnek Kullanım:
@include('partials.header')
Yukarıdaki örnekte, partials.header adlı şablon, mevcut şablonun içerisine @include ile dahil edilir. Böylece, aynı başlık bileşeni farklı sayfalarda tekrar tekrar yazmak yerine, partials.header şablonu ile yönetilebilir.
@stack ve @push Direktifleri
@stack ve @push direktifleri, belirli bir ad ile özel bir yığına içerik eklemek ve bu içerikleri başka bir şablon tarafından kullanmak için kullanılır.
Örnek Kullanım:
@push('scripts')
<script src="example.js"></script>
@endpush
Yukarıdaki örnekte, @push ile scripts adlı bir yığın oluşturulur ve içerik olarak bir JavaScript dosyası eklenir. Daha sonra, bu içerikler, başka bir şablon tarafından @stack('scripts') ile çağrılabilir.
Blade direktifleri, şablonların daha modüler ve yönetilebilir olmasını sağlar. Bu sayede, web uygulamalarını daha düzenli ve verimli bir şekilde oluşturabilir ve tekrar eden bileşenleri daha kolay yönetebiliriz. Blade'in güçlü direktifleri, web uygulamalarını geliştirmek için önemli bir araçtır ve kodun daha temiz ve daha okunabilir olmasına yardımcı olur.