Laravelのディレクトリ構造

Laravelの基礎

Laravelがどのようなディレクトリ構造になっているかを解説します。

はじめに

どこに何があるのかを理解することにより、ソースを探す無駄な時間がなくなったり、どこに配置するか悩んだりすることなく、スムーズな開発ができるようになります。

よく使う、覚えておいた方がいいものには(★)を付けてみましたので、これだけでも覚えておいてください。

ディレクトリ解説

app

ほぼ全てのクラスはここに配置されます。

Broadcasting

ブロードキャストチャンネルクラスが配置されます。
デフォルトでは作成されていないディレクトリで、artisanコマンドのmake:channelを実行するとディレクトリが作成され、ファイルがここに配置されます。

Console

artisanのコマンドクラスが配置されます。
artisanコマンドのmake:commandを実行するとファイルがここに配置されます。

Events

イベントクラスが配置されます。
デフォルトでは作成されていないディレクトリで、artisanコマンドのevent:generateまたはmake:eventを実行するとディレクトリが作成され、ファイルがここに配置されます。

Exceptions

例外クラスが配置されます。
artisanコマンドのmake:exceptionを実行するとファイルがここに配置されます。

Http

Controllers(★)

コントローラクラスが配置されます。
artisanコマンドのmake:controllerを実行するとファイルがここに配置されます。

Middlewares

ミドルウェアクラスが配置されます。

Jobs

ジョブクラスが配置されます。
デフォルトでは作成されていないディレクトリで、artisanコマンドのmake:jobを実行するとディレクトリが作成され、ファイルがここに配置されます。

Listeners

イベントを処理するクラスが配置されます。
デフォルトでは作成されていないディレクトリで、artisanコマンドのevent:generateまたはmake:listenerを実行するとディレクトリが作成され、ファイルがここに配置されます。

Mail

メールクラスが配置されます。
デフォルトでは作成されていないディレクトリで、artisanコマンドのmake:mailを実行するとディレクトリが作成され、ファイルがここに配置されます。

Models(★)

モデルが配置されます。
artisanコマンドのmake:modelを実行するとファイルがここに配置されます。

Notifications

通知クラスが配置されます。
デフォルトでは作成されていないディレクトリで、artisanコマンドのmake:notificationを実行するとディレクトリが作成され、ファイルがここに配置されます。

Policies

認可ポリシークラスが配置されます。
デフォルトでは作成されていないディレクトリで、artisanコマンドのmake:policyを実行するとディレクトリが作成され、ファイルがここに配置されます。

Providers

サービスプロバイダクラスが配置されます。

Rules

バリデーションルールのクラスが配置されます。
デフォルトでは作成されていないディレクトリで、artisanコマンドのmake:ruleを実行するとディレクトリが作成され、ファイルがここに配置されます。

bootstrap

Laravelの初期起動処理のapp.phpやキャッシュファイルが配置されます。
基本的には触るようなことはありません。

config(★)

設定ファイルが配置されます。独自で作成する設定ファイルもここに配置します。

database

モデルファクトリ、マイグレーション、シーダーが配置されます。SQLiteのデータもここで良いようです。

factories

モデルファクトリクラスが配置されます。

migrations(★)

マイグレーションファイルが配置されます。

seeders

シーダークラスが配置されます。

public(★)

ここは公開用のディレクトリになります。Laravelアプリケーションの入り口であるindex.phpや、画像、CSS、JavaScriptファイル、robots.txt、.htaccessなどを配置します。

resources

ビュー(Blade)、コンパイル前のCSSやJavaScriptなどを配置します。

css

コンパイル前のCSSファイルが配置されます。

js

コンパイル前のJavaScriptファイルが配置されます。

views(★)

ビュー(Blade)ファイルが配置されます。

routes

ルートファイルが配置されます。

storage

app

public

公開可能なユーザー作成ファイルを配置します。artisanコマンドのstorage:linkでシンボリックリンクをpublic/storageに作成して公開します。

framework

logs

アプリケーションのログが配置されます。Log::info()などの出力先がここになります。

tests

自動テストに関するファイルが配置されます。

Future

機能テストファイルが配達されます。

Unit

PHPUnitテストファイルが配置されます、

vendor

Composerでインストールされるものが配置されます。Laravelの本体もここにあります。ここはGit管理されません。

Follow me!

コメント

PAGE TOP
タイトルとURLをコピーしました