3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

laravelのディレクトリ構造

Posted at

ディレクトリ構造がいまいちよくわからないまま
すでに書かれているファイルを参考に
見よう見まねで書いているので
どこに何が配置されるのか
ちゃんとわかりたくてまとめてみました。

環境

macOS Sonoma v14.5
docker desktop for mac v4.37.2

新規作成する

laravel 11.xのプロジェクトをlaravel sailを利用して作成しました
アップグレードによりかなり構成ファイルが減ったらしいです

Laravel 11 introduces a new default application structure with fewer default files. Namely, new Laravel applications contain fewer service providers, middleware, and configuration files.
https://laravel.com/docs/11.x/upgrade#application-structure

作成直後のlaravelディレクトリ構成

ルートディレクトリ = プロジェクトはcomposer.jsonがあるフォルダを指します

*(アスタリスク)がついているphpファイルは以下のコマンドで作成できます

sail artisan make:<すべて小文字に変換したフォルダ名の単数形> <任意のファイル名(拡張子不要)>
# 例: sail artisan make:model dummy
. ・・ルートディレクトリ
app ・・リクエスト時の処理
 ├── Http
 │     └── Controllers
 │            └── *.php
 ├── Models
 │     └── *.php
 └── Providers
       └── *.php
bootstrap ・・プロジェクト全体の設定
 ├── cache(自動作成される ※.envにあるAPP_ENVを変更する際は削除したほうがいいこともある)
 ├── app.php
 └── providers.php
config ・・定数、設定ファイル
 ├── app.php
 ├── auth.php
 ├── cache.php
 ├── database.php
 ├── filesystems.php
 ├── logging.php
 ├── mail.php
 ├── queue.php
 ├── services.php
 └── session.php
database ・・DBテーブル定義、データ登録など
 ├── factories
 │    └── *.php
 ├── migrations
 │    └── *.php
 ├── seeders
 │    └── *.php
 ├── database.sqlite(sailではデフォルトがsqliteのためファイルが作成される、ほかの接続先に変更する場合不要になる)
 └── .gitignore
public ・・初回アクセス時に処理される(ほとんど変更することはない)
 ├── .htaccess
 ├── favicon.ico
 ├── index.php
 └── robots.txt
resources ・・webページに出力する
 ├── css
 │    └── *.css
 ├── js
 │    └── *.js
 └── views
      └── *.blade.php
routes ・・ルーティング
 ├── console.php
 └── web.php
storage ・・ファイル保存先(デフォルト)
 ├── app(処理で作成したファイルなど)
 │    └── *
 ├── framework(laravel側の処理により自動作成されたもの、およびテストで作成したダミーデータの格納先)
 │    └── *
 └── logs
      └── laravel.log
tests ・・テストコード
 ├──Feature
 │    └── *.php
 ├──Unit
 │    └── *.php
 │          (コマンドで作成する際はオプション`--unit`が必要 `sail artisan make:test --unit <任意のファイル名(拡張子不要)>`)
 └──TestCase.php
vendor ・・バッケージフォルダ(ほとんど編集することはない)
.editorconfig
.env
.env.example
.gitattributes
.gitignore
artisan
composer.json
composer.lock
docker-compose.yml
package.json
phpunit.xml
postcss.config.js
README.md
tailwind.config.js
vite.config.js

補足

ファイル作成コマンドを使えばディレクトリ誤りによるエラーは発生しづらくなります。

# すべての利用可能なコマンド一覧を出力する
sail artisan list
3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?