PHP と Composer の .gitignore 設定
Composer を使用する PHP プロジェクトの適切な .gitignore。vendor ディレクトリ、Laravel/Symfony フレームワークファイル、環境設定、IDE メタデータを網羅します。
詳細な説明
PHP プロジェクトは依存関係管理に Composer を使用し、通常は Laravel、Symfony、WordPress などのフレームワークを採用します。適切に構成された .gitignore で vendor コード、環境シークレット、フレームワークキャッシュをバージョン管理から除外します。
Composer パターン:
vendor/— Composer の依存関係ディレクトリで、node_modules/に相当します。すべてのサードパーティパッケージとオートローダーを含みます。composer installで再生成されます。composer.phar— ローカルにダウンロードした場合の Composer バイナリ本体。グローバルインストールを使用してください。
アプリケーションでは composer.lock を常にコミットしてください。すべての環境で決定論的なインストールを保証します。ライブラリパッケージの場合、一部のメンテナーはこれを無視することを選択します(Rust の Cargo.lock のライブラリクレート慣習と同様)。
Laravel 固有のパターン:
.env
storage/*.key
storage/framework/cache/*
storage/framework/sessions/*
storage/framework/views/*
bootstrap/cache/*
public/hot
public/storage
.env— Laravel は設定に dotenv を使用します。.env.exampleファイルは新しい開発者向けのテンプレートとしてコミットされます。storage/サブディレクトリ — フレームワークキャッシュ、コンパイル済み Blade ビュー、セッションファイル。ランタイムアーティファクトです。bootstrap/cache/—php artisan config:cacheで生成されるキャッシュ済み設定とルートファイル。public/hot— ローカル開発中に使用される Vite/Mix ホットリロードインジケーターファイル。
Symfony 固有のパターン:
var/
.env.local
.env.*.local
public/bundles/
var/— Symfony はキャッシュ、ログ、セッションをこのディレクトリに保存します。public/bundles/— Symfony が生成するバンドルアセットのシンボリックリンクまたはコピー。
WordPress パターン:
WordPress は異なります — 多くのデプロイメントではアプリケーション全体がリポジトリにあります。通常、以下を無視します:
wp-content/uploads/— ユーザーがアップロードしたメディアファイル。wp-config-local.php— ローカルデータベース設定のオーバーライド。wp-content/cache/とwp-content/upgrade/— キャッシュと更新の作業ディレクトリ。
テストおよび品質ツール: .phpunit.result.cache、.php-cs-fixer.cache、phpstan.neon.local を無視してください — これらは再実行を高速化するツールキャッシュですが、マシン固有です。
ユースケース
Vite でフロントエンドアセットをコンパイルする Laravel チームが、Composer vendor、コンパイル済みアセット、環境ファイル、storage ディレクトリを処理する .gitignore を必要としています。