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を実行するとディレクトリが作成され、ファイルがここに配置されます。
メールクラスが配置されます。
デフォルトでは作成されていないディレクトリで、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管理されません。
コメント