Cand incarc o pagina noua de fiecare data folosesc @extends(‘template.layout’), acest layout imi tine toate librariile, headerul, sidebar-ul etc. Ideea este ca am vazut intr-un tutorial urmatoarea secventa de cod care miroase a singleton, sincer nu stiu exact ce face, dar mi-a venit ideea daca nu e posibil sa facem ceva de genul asta, ca sa nu mai incarcam pentru fiecare view template-ul principal.
protected function setupLayout(){
if(!is_null($this->layout()){
$this->layout = View::make($this->layout);
}
}
Din ce știu eu, singleton înseamnă că poate fi instanțiat o singură dată. Pentru asta are __constructorul private și o metodă publică de genul getInstance.
Ce anume ți se pare singleton-ish în metoda asta?
De asemenea, dacă înveți Laravel acum, îți recomand să investești 20$ pentru două luni de laracast. Din ce am văzut (pe sărite) și din ce s-au lăudat mulți, calitatea videourilor (ca și conținut) este superioară comparativ cu alte surse.
Dracia aia apare in BaseController, Laravel < 5. Poti sa adaugi in BaseController ceva de genul: protected $layout = 'layouts.default';
iar in controllerele tale sa folosesti: $this->layout->content = View::make('main.index');
In felul asta view-ul index.blade.php nu mai trebuie sa extinda layout-ul “default”. Ar putea fi util ca sa folosesti acelasi template in diferite layout-uri.