メインコンテンツへスキップ

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のデフォルトのアプリケーション構造は、大規模・小規模どちらのアプリケーションにも適した出発点を提供します。 ただし、アプリケーションをどのように構成するかは自由です。 Laravelはクラスの配置場所にほとんど制限を設けていません。Composerがクラスをオートロードできさえすれば問題ありません。

ルートディレクトリ

新しいLaravelプロジェクトを作成すると、以下のようなディレクトリ構造が生成されます。
example-app/
├── app/
├── bootstrap/
├── config/
├── database/
├── public/
├── resources/
├── routes/
├── storage/
├── tests/
├── vendor/
├── .env
├── artisan
└── composer.json

app/ ディレクトリ

アプリケーションのコアコードを格納するディレクトリです。 コントローラー・モデル・ミドルウェアなど、アプリケーションのほぼすべてのクラスがここに置かれます。 デフォルトでは HttpModelsProviders サブディレクトリが含まれています。 Artisanコマンドでクラスを生成すると、他のサブディレクトリも自動的に作成されます。

bootstrap/ ディレクトリ

フレームワークを起動する app.php ファイルを含みます。 また、ルートキャッシュやサービスキャッシュなどのパフォーマンス最適化ファイルを格納する cache/ ディレクトリも含まれます。

config/ ディレクトリ

アプリケーションのすべての設定ファイルを格納します。 これらのファイルを読んで、利用可能なオプションを把握しておくことを推奨します。

database/ ディレクトリ

データベースのマイグレーション・モデルファクトリー・シーダーを格納します。 SQLiteデータベースファイルもここに配置できます。

public/ ディレクトリ

アプリケーションへのすべてのリクエストのエントリーポイントである index.php を含みます。 また、画像・JavaScript・CSSなどのアセットもここに格納されます。
WebサーバーのドキュメントルートはLaravelプロジェクトの public/ ディレクトリに設定してください。 プロジェクトルートやサブディレクトリを直接公開しようとすると、機密ファイルが露出するリスクがあります。

resources/ ディレクトリ

ビューと、コンパイル前のCSSやJavaScriptなどの生アセットを格納します。

routes/ ディレクトリ

アプリケーションのすべてのルート定義を格納します。 デフォルトでは web.phpconsole.php の2つのルートファイルが含まれます。
ファイル用途
web.phpブラウザ向けのルート。セッション・CSRF保護・クッキー暗号化を提供する web ミドルウェアグループが適用されます。
console.phpArtisanコマンドをクロージャで定義するファイルです。
api.phpステートレスなAPIルート。install:api コマンドで追加します。
channels.phpイベントブロードキャストチャンネルを登録するファイルです。

storage/ ディレクトリ

ログ・コンパイル済みBladeテンプレート・ファイルベースのセッション・ファイルキャッシュなど、フレームワークが生成したファイルを格納します。 app/framework/logs/ の3つのサブディレクトリに分かれています。

tests/ ディレクトリ

自動化されたテストを格納します。 PestまたはPHPUnitによるユニットテストと機能テストのサンプルが最初から含まれています。

vendor/ ディレクトリ

Composerの依存関係を格納します。このディレクトリはソースコントロールにコミットしないでください。

app/ ディレクトリの詳細

app ディレクトリの多くのクラスはArtisanコマンドで生成できます。 利用可能なコマンドを確認するには、次を実行してください。
php artisan list make
コントローラー・ミドルウェア・フォームリクエストを格納します。 アプリケーションへのリクエスト処理ロジックのほぼすべてがここに置かれます。
Eloquentモデルクラスをすべて格納します。 各データベーステーブルに対応する「モデル」が存在し、データの照会や挿入に使います。
アプリケーションのすべてのサービスプロバイダーを格納します。 サービスプロバイダーはサービスをコンテナにバインドし、イベントを登録するなど、アプリケーションを起動するための処理を行います。
カスタムArtisanコマンドをすべて格納します。 make:command コマンドで生成できます。
アプリケーションのカスタム例外をすべて格納します。 make:exception コマンドで生成できます。

重要なファイル

.env ファイル

環境ごとに異なる設定値(データベース接続情報・APIキーなど)を管理します。 config/ 内の設定ファイルから env() ヘルパーを通して参照されます。
APP_NAME=Laravel
APP_ENV=local
APP_DEBUG=true
APP_URL=http://localhost

DB_CONNECTION=sqlite

artisan ファイル

Artisanコマンドラインインターフェースのエントリーポイントです。 php artisan <コマンド名> の形式で実行します。

次のステップ

ルーティング

ルートの定義方法とURLとアプリケーションロジックの紐付けを学びます。
Last modified on March 29, 2026