Introductie
Laravel Folio is een paginagebaseerde router waarmee je routes definieert door simpelweg Blade-bestanden te plaatsen. Anders dan de traditionele definitie viaroutes/web.php, wordt de structuur van het bestandssysteem rechtstreeks weerspiegeld in de URL’s.
Folio is vooral handig voor contentgerichte sites en beheerpanelen waar je snel pagina’s per scherm wilt toevoegen.
Voor onderdelen die fijnmazige HTTP-controle vereisen, zoals API’s, is het praktischer om Folio te combineren met gewone routing.
Installatie
Voeg Folio eerst toe via Composer.folio:install registreert de serviceprovider van Folio.
Standaard is resources/views/pages/ de paginadirectory.
Wil je meerdere paginadirectories of verschillende basis-URI’s gebruiken, dan stel je in de boot-methode van de serviceprovider Folio::path() en uri() in.
Routes maken
Folio genereert automatisch URL’s op basis van de Blade-bestandsnamen in de gemounte directory.Geneste routes
Als je directories nest, worden de URL’s met dezelfde structuur genest.Indexroutes
index.blade.php wordt gemapt op de root van de betreffende directory.
Routeparameters
Met[] in de bestandsnaam kun je URL-segmenten ontvangen.
....
Route model binding
Gebruik je een modelnaam zoals in[User].blade.php, dan wordt het model automatisch opgelost.
withTrashed() aan binnen de pagina.
Schrijf je
[Post:slug].blade.php, dan kun je het model ook oplossen op een andere sleutel dan id (bijvoorbeeld slug).Middleware
Wil je middleware alleen op een specifieke pagina toepassen, gebruik danmiddleware() binnen de paginatemplate.
Folio::path(...)->middleware().
Benoemde routes
Ook Folio-pagina’s kun je metname() een routenaam geven.
Definieer je op een individuele pagina zoals
users/[User].blade.php de naam name('users.show'), dan kun je URL’s met parameters genereren via route('users.show', ['user' => $user]).route()-helper URL’s genereren.