Documentation Index
Fetch the complete documentation index at: https://kawax.biz/llms.txt
Use this file to discover all available pages before exploring further.
はじめに
Laravel Folioは、Bladeファイルを配置するだけでルートを定義できるページベースのルーターです。 従来のroutes/web.php 中心の定義と違い、ファイルシステムの構造をそのままURLに反映できます。
コンテンツ中心のサイトや、画面ごとに素早くページを追加したい管理画面で特に有効です。
APIのように細かいHTTP制御が必要な領域は、通常のルーティングと併用するのが実践的です。
インストール
まずはComposerでFolioを追加します。folio:install はFolioのサービスプロバイダーを登録します。
デフォルトでは resources/views/pages/ がページディレクトリになります。
複数のページディレクトリやベースURIを使い分ける場合は、サービスプロバイダーの boot で Folio::path() と uri() を設定します。
ルートの作成
Folioは、マウントされたディレクトリ配下のBladeファイル名からURLを自動生成します。ネストされたルート
ディレクトリをネストすると、URLも同じ構造でネストされます。インデックスルート
index.blade.php は、そのディレクトリのルートにマッピングされます。
ルートパラメーター
ファイル名の[] でURLセグメントを受け取れます。
... を使います。
ルートモデルバインディング
[User].blade.php のようにモデル名を使うと、自動でモデル解決されます。
withTrashed() を呼び出します。
[Post:slug].blade.php のように書くと、id 以外のキー(例: slug)でもモデル解決できます。ミドルウェア
特定ページにだけ適用する場合は、ページテンプレート内でmiddleware() を使います。
Folio::path(...)->middleware() を使います。
名前付きルート
Folioページにもname() でルート名を付けられます。
users/[User].blade.php のような個別ページ側で name('users.show') を定義すると、パラメーター付きURLを route('users.show', ['user' => $user]) で生成できます。route() ヘルパーでURL生成できます。
ファイルとURLの対応
従来のルーティングとの比較
| 特徴 | 通常ルーティング | Folio |
|---|---|---|
| ルート定義 | routes/web.php | ファイル名で自動 |
| コントローラー | 必要(またはクロージャ) | 不要(Bladeに直接) |
| 向いているケース | APIやSPA、複雑なHTTP制御 | コンテンツサイト、管理画面 |