Laravel のディレクトリ構造

参考Webページ

MVCとルートの場所

  • コントローラ
    app/Http/Controllers
  • モデル(DBとやりとり)
    app/Models
  • ビュー
    resources/views
  • ルート
    routes

各ディレクトリやファイルについて

← 左へ行くほど階層上  |  右へ行くほど階層下 →
appConsoleCommands
オリジナルのコマンドを作成したら保管する場所。
Kernel.php
バッチ処理等をスケジューリングしたい時に記述。
Exceptions
例外処理。
HttpControllers
コントローラのファイルが入る。
Middleware
コントローラで処理する前に、実施したい処理がある時に使う。
Requests
Models
モデルのファイルが入る。Laravel7以降から使われている。Laravel6以前はappディレクトリだった。
Providers
Laravel起動時の処理を設定する。
View
bootstrap
フレームワークを初期起動処理するapp.phpが入っている。通常編集することはない。
config
設定用ファイルが入る。
databasefactoriesテストデータを作成する時の設定ファイルが入る。データ型やモデルに合わせて条件を設定できる。
migrationsマイグレーションファイルが入る。マイグレーションファイルを通じて、テーブルや列の作成・変更を行う。
seedersテストデータを何個作るか、などの設定をする。DB初期値の設定もできる。
lang
言語ファイルが入る。
Laravel 9 まではデフォルトで存在したが、
10ではデフォルトで存在しない。
public
ブラウザからアクセスできる場所。
通常ここにCSSやJavaScriptや
画像ファイルを入れる。
resourcescss
Breezeをインストールすると、Tailwindに関するコードが入る。
js
Breezeをインストールすると、Alpine.jsに関するコードが入る。
views
ビューのファイルが入る。
routes
ルート設定用のファイルが入る。
web.php
通常はこのファイルに
ルートの設定を記述する。
auth.php
Breezeなどのユーザ認証ライブラリを導入すると、このファイルが作成される。ユーザ認証に関するルート設定が記述される。
storageapp
フォームなどを通じて保存した
画像ファイル等を保存する。
通常、publicディレクトリに
シンボリックリンクを設定することで、ブラウザからstorage/appへアクセスできるようにする。
framework
キャッシュファイルなどが入る。通常操作しない。
logs
エラー時のメッセージ等が記録される。
tests
PHPUnitなどの
テスト関連のファイルが入る。
vendor
各ライブラリのファイルが入る。
本番環境に移行する時は、
通常このディレクトリの中身は移動させないので、
このディレクトリ内のファイルは
直接編集しない方が良い。
composer.json
composer.lockjson
ファイルには必要なライブラリの種類と
バージョン条件が記載されている。
lockファイルにはライブラリを開発環境で
インストールした時の情報が入っている。
本番環境でプロジェクトを反映させる時に、「composer install」を実施すると、
lockファイルの情報をもとに
開発環境と同じバージョンのライブラリを
本番環境にインストールできる。
package.json
package-lock.json
TailwindCSSなどはNode.jsを使う。
こういったNode.jsを使って入れる
パッケージの種類とバージョン情報が
記載される。
package.jsonには必要なパッケージの種類とバージョン条件が記載されている。
package-lock.jsonには、
実際にインストールされた
パッケージの情報が入っている。
npmコマンドでパッケージをインストールする時に使う。
.env
環境変数を設定する。
vite.config.js
Laravel Vite に関する設定が入る。

コメント

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