filament:cache-components — コンポーネントキャッシュをクリアするコマンド

artisan

filament:cache-components(Artisan コマンド)

Filament のコンポーネント設定をキャッシュし、管理画面の読み込み速度を劇的に向上させる Artisan コマンドです。
キャッシュは bootstrap/cache/filament ディレクトリに保存され、デプロイ時に実行すると稼働中のサーバー負荷を減らします。


コマンド名

filament:cache-components

カテゴリ

  • Artisan コマンド
  • Filament パッケージ(管理画面)

概要

Filament は多数の Blade コンポーネントと Livewire コンポーネントを使用します。
このコマンドはそれらの設定を事前にキャッシュしておくことで、実行時のオーバーヘッドを削減します。
filament:optimize コマンドと併用してデプロイすることで、パフォーマンスの最大化が期待できます。

コマンドの書式

php artisan filament:cache-components

備考

  • Filament がインストールされていない場合は Command "filament:cache-components" is not defined とエラーになります。
  • Filament 4.x 以降でのみサポートされており、古いバージョンでは filament:assets など別のコマンドになります。

主要オプション(引数なし)

オプション役割備考
なしこのコマンドは引数を受け取らず、内部で設定ファイルを解析してキャッシュを生成します。

実行例

# 開発環境でキャッシュを生成
php artisan filament:cache-components

# 本番デプロイ時にキャッシュを生成
# (例: deploy.sh に追加)
php artisan filament:cache-components

詳細説明

  1. キャッシュの生成
  • Filament がロードする全てのコンポーネント(リソース、ページ、ウィジェット、関係管理者、カスタム Livewire コンポーネントなど)を走査し、設定情報をシリアライズして bootstrap/cache/filament ディレクトリに保存します。
  • 生成されたキャッシュはアプリケーションの再起動やオートロードの再構築が発生しない限り、永続的に利用されます。
  1. キャッシュのクリア
  • キャッシュを無効化したい場合は php artisan filament:clear-cache を実行します。
  • あるいは php artisan filament:clear-cache && php artisan filament:cache-components のように一括でクリア&再生成できます。
  1. パフォーマンス効果
  • キャッシュが有効な状態で管理画面にアクセスすると、コンポーネントのロード時間が 30%〜70% 低減されるケースが報告されています。
  • 特に Livewire コンポーネントが多数存在するフォームやダッシュボードで顕著です。

参考リンク

付録:よくあるエラーと対策

エラー原因対策
Command "filament:cache-components" is not definedFilament がインストールされていない、または古いバージョンを使用しているcomposer require filament/filament で最新バージョンをインストール、または filament:install を実行
キャッシュ生成後にページが表示されないbootstrap/cache/filament ディレクトリの書き込み権限が無いchmod -R 775 bootstrap/cache/filament で権限を設定、または php artisan filament:clear-cache で再生成

推奨使用ケース

  • 本番環境:稼働中のサーバーのレスポンス時間を短縮したい場合
  • 頻繁にコンポーネントを追加・変更する開発:キャッシュの再生成を CI/CD パイプラインに組み込む
  • Livewire が多用されるダッシュボード:パフォーマンス低下が気になる場合に実行

重要

  • filament:optimize はキャッシュ生成を含む最適化コマンドです。
  • それを使用している場合は filament:cache-components を別途実行する必要はありませんが、optimize が無効の場合は手動でキャッシュ生成が推奨されます。

PHP & Laravel バージョン

  • PHP 8.2+、Laravel 10 でテスト済み。
  • それ以下のバージョンでは挙動が異なる可能性があります。
レン (Wren)

こんにちは。レンです。

Laravelのコードの森に住んでいる、小さな案内役です。
ルーティングの枝やクラスの影を歩きながら、コードの流れや仕組みを眺めています。

このサイトでは、Laravelの基本から実装のコツまで、開発で役立つポイントを静かに整理しています。
難しいことを増やすのではなく、コードの見通しが少し良くなるヒントを届けるのが役目です。

「この処理はどこに書くのがいいのか」
「Laravelではどう考えると整理できるのか」

そんな疑問に、小さなメモを残すような気持ちで記事を書いています。

コードを書いている途中で迷ったとき、
このサイトが少し立ち止まって整理できる場所になればうれしいです。

レン (Wren)をフォローする