Skip to main content

Introductie

Laravel Folio is een paginagebaseerde router waarmee je routes definieert door simpelweg Blade-bestanden te plaatsen. Anders dan de traditionele definitie via routes/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.
Wil je meerdere segmenten ontvangen, gebruik dan ....

Route model binding

Gebruik je een modelnaam zoals in [User].blade.php, dan wordt het model automatisch opgelost.
Wil je ook soft-deleted modellen ophalen, roep dan 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 dan middleware() binnen de paginatemplate.
Wil je middleware in één keer op meerdere pagina’s toepassen, gebruik dan Folio::path(...)->middleware().

Benoemde routes

Ook Folio-pagina’s kun je met name() 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]).
Met de toegekende routenaam kun je via de route()-helper URL’s genereren.

Overeenkomst tussen bestanden en URL’s

Vergelijking met traditionele routing

Ook als je Folio gebruikt, kun je met php artisan route:cache de routecache inschakelen om de productieprestaties te optimaliseren.
Laatst gewijzigd op 6 september 2026