Dikkat ettiğiniz üzere; bir çok web uygulaması genelde aynı düzeni kullanır.
Çoğu web uygulamasının genellikle bir menüsü, üst bölümü, alt bölümü, içerik bölümü vs. gibi benzer bölümleri bulunur.
Bir web uygulaması geliştirdiğinizi düşünün.
Bu uygulamanın her sayfasında aynı HTML kodlarını, aynı Javascript kodlarını tekrarladığınızı düşünün. Bu durum hiç iyi olmazdı ve muhtemelen sizi kod yazdığınıza pişman ederdi.
İşte tam da bu noktada Laravel bey, size bir imkan sunuyor : Layout Sistemi.
Web uygulamanızın düzenini bir Blade bileşeni olarak tanımlayabilir ve onu kolayca her sayfanızda kullanabilirsiniz.
Şimdi Şablon Devralma yöntemi ile Layout oluşturmaya bir göz atalım.
<!-- resources/views/app.blade.php --> <html> <head> <title>Uygulamamızın Adı - @yield('baslik')</title> </head> <body> <div class="container"> @yield('icerik') </div> </body> </html>
Yukarıdaki bulunan koda dikkat edin.
@yield(‘baslik’) ile bu komutun tam olarak bulunduğu yere başlığın geleceğini anlatmış oluyoruz.
Aynı şekilde @yield(‘icerik’) komutu ile de buraya içeriğin geleceğini anlatıyoruz.
Şimdi bir alt görünüm tanımlayalım ve yukarıdaki şablonu devralarak kullanalım.
@extends('app') @section('baslik', 'Bu bir sayfa başlığıdır') @section('content') <p>İşte burası da içerik bölümü</p> @endsection
@extends(‘app’) komutuyla app isimli layout‘u kullanacağımızı belirtiyoruz.
@section(‘baslik’, ‘Bu bir sayfa başlığıdır’) komutu ile layout’ta bulunan ilgili yere bu bilginin yazılmasını sağlıyoruz.
@section(‘icerik’),
<p>İşte burası da içerik bölümü</p>
@endsection
komutlarıyla da icerik bölümüne bu bilginin yazılmasını sağladık.
Böylece oluşturacağımız herhangi bir sayfada, artık app isimli layout‘u kullanabilir ve tekrarlardan kurtulabiliriz.