Introductie
Het is niet realistisch om vanuit routes of controllers een compleet HTML-document als string te retourneren. Met views kun je alle HTML in aparte bestanden schrijven. Views scheiden je controller- en applicatielogica van je presentatielogica en worden opgeslagen in de directoryresources/views.
In Laravel schrijf je views doorgaans met de Blade-templatetaal.
resources/views/greeting.blade.php en kun je retourneren met de globale view-helper.
Views maken
Om een view te maken plaats je een bestand met de extensie.blade.php in de directory resources/views, of gebruik je een Artisan-commando.
.blade.php vertelt het framework dat het bestand een Blade-template bevat.
Views retourneren
Zodra je een view hebt gemaakt, kun je die vanuit een route of controller retourneren met de globaleview-helper.
View-facade gebruiken.
view-helper komt overeen met de bestandsnaam van de view in de directory resources/views.
Het tweede argument is een array met data die beschikbaar wordt gemaakt in de view.
Geneste view-directories
Views kun je nesten in subdirectories vanresources/views.
Om een geneste view te refereren gebruik je de “puntnotatie”.
Een view die is opgeslagen in resources/views/admin/profile.blade.php retourneer je bijvoorbeeld zo:
De eerste bestaande view retourneren
Met defirst-methode van de View-facade retourneer je de eerste view uit een array die bestaat.
Controleren of een view bestaat
Om te controleren of een view bestaat, gebruik je deexists-methode van de View-facade.
Data doorgeven aan views
Zoals in de vorige voorbeelden te zien is, kun je een array met data doorgeven aan een view en die data binnen de view gebruiken.with-methode kun je ook afzonderlijke datastukken toevoegen.
De with-methode retourneert een instantie van het view-object, zodat je methodes kunt chainen.
Data delen met alle views
Wil je data delen met alle views, gebruik dan deshare-methode van de View-facade.
Meestal doe je dit in de boot-methode van een serviceprovider.
Views optimaliseren
Standaard worden Blade-templateviews on-demand gecompileerd. Omdat het compileren van de view tijdens het request plaatsvindt, kan dit de prestaties licht beïnvloeden. Met het Artisan-commandoview:cache compileer je vooraf alle views die je applicatie gebruikt.
We raden aan dit uit te voeren als onderdeel van je deployproces.
Volgende stap
Blade-templates
Leer hoe je met de Blade-syntaxis dynamische views bouwt.