Mantığı basittir.. Bir layouts oluşturursunuz. Sitenizin ana hatlarını düşünün. Footer, header, body, sidebar vb.. Layouts'larda bunu tanımlarınız. Sonrasında her bir bölüm için bir tamplate dosyası açarsınız örnek:
aşağıdaki dosya index.blade.php olsun.
@extends('layouts.master') // ana şablon
@section('sidebar') // sidebar alanı ana şablonda(layouts.master) @yield('sidebar') olarak belirtilen yerden görüntülenecektir.
@parent // layouts.master'daki sidebar içeriğini basar.
<p>This is appended to the master sidebar.</p>
@stop // sidebar buraya kadar reander edilip, layouts.master içinde görüntülenir.
@section('content') // başka bir alan, sidebar gibi
<p>This is my body content.</p>
@stop
Yukarıdaki blade teması denetleyici içinde şöyle render edilir.
return View::make('index');
Bir ana şablon kullanma zorunluğu yoktur. Ama genelikle kullanılması tavsiye ederim. Viewleriniz daha derli toplu olur.
Genel hatları böyle. Yani Controller'da sadece temayı çağırırsınız. Çağırılan tema ise başka temaları çağırır..Yani bunu controller'da yapmazsınız..
Dökümandaki örnekleri uygulayın. Sonra ufak değişiklikler yapın. Mantığını anlarsınız. Ben laravel'de en kolay öğrendiğim şey Blade'di..