Einführung
Laravel Folio ist ein seitenbasierter Router: Sie definieren Routen, indem Sie einfach Blade-Dateien ablegen. Statt alles inroutes/web.php zu deklarieren, bildet Folio die Verzeichnisstruktur direkt in URLs ab.
Besonders geeignet für inhaltsgetriebene Seiten und Admin-Bereiche, in denen Sie schnell weitere Screens hinzufügen möchten.
Für Bereiche mit feiner HTTP-Steuerung (APIs) kombinieren Sie Folio in der Praxis mit klassischem Routing.
Installation
Fügen Sie Folio per Composer hinzu.folio:install registriert den Service Provider.
Standard-Verzeichnis ist resources/views/pages/.
Für mehrere Verzeichnisse/Base-URIs setzen Sie im boot des Providers Folio::path() und uri().
Route erstellen
Folio erzeugt die URL automatisch aus dem Blade-Dateinamen im Mount-Verzeichnis.Verschachtelte Routen
Verschachtelte Verzeichnisse führen zu verschachtelten URLs.Index-Routen
index.blade.php wird auf die Wurzel des Verzeichnisses gemappt.
Routenparameter
Mit[] im Dateinamen nehmen Sie URL-Segmente auf.
... benutzen.
Route Model Binding
Verwenden Sie den Modellnamen wie[User].blade.php, wird das Modell automatisch aufgelöst.
withTrashed() auf.
Mit
[Post:slug].blade.php erfolgt die Auflösung über einen anderen Schlüssel als id, z. B. slug.Middleware
Für einzelne Seiten verwenden Sie innerhalb der Page-Dateimiddleware().
Folio::path(...)->middleware().
Benannte Routen
Auch Folio-Seiten können Namen bekommen.Wenn Sie in
users/[User].blade.php name('users.show') setzen, erzeugen Sie parameterisierte URLs mit route('users.show', ['user' => $user]).route() verwenden.
Datei → URL
Vergleich mit klassischem Routing
| Aspekt | Klassisches Routing | Folio |
|---|---|---|
| Routen-Definition | routes/web.php | Automatisch per Dateiname |
| Controller | Nötig (oder Closure) | Nicht nötig (direkt in Blade) |
| Ideal für | APIs, SPAs, komplexes HTTP | Content-Seiten, Admin-Bereiche |