スポンサーリンク

[Laravel] 新規プロジェクト作成時のディレクトリ構成

ディレクトリ構成

全体像

コマンド”laravel new laravel_example”で、新規プロジェクト作成を行うと、以下のディレクトリ構成で作成されます。

laravel_example
├─app
│  ├─Console
│  ├─Exceptions
│  ├─Http
│  │  ├─Controllers
│  │  └─Middleware
│  ├─Models
│  └─Providers
├─bootstrap
│  └─cache
├─config
├─database
│  ├─factories
│  ├─migrations
│  └─seeders
├─public
├─resources
│  ├─css
│  ├─js
│  ├─lang
│  │  └─en
│  └─views
├─routes
├─storage
│  ├─app
│  │  └─public
│  ├─framework
│  │  ├─cache
│  │  │  └─data
│  │  ├─sessions
│  │  ├─testing
│  │  └─views
│  └─logs
├─tests
│  ├─Feature
│  └─Unit
└─vendor
    ├─asm89
    │  └─stack-cors
    │      └─src
    ├─ ・・・・・以下省略・・・・・・・

説明するのは、プロジェクトディレクトリ直下の各ディレクトリについてまとめます。

各フォルダの概要

ディレクトリ 概要
appディレクトリ メインのソースコードが入ります。
PHPで作成した、コントローラーやビュー、モデルなどのファイルを入れます。
bootstrapディレクトリ Laravelアプリを起動するための初期処理を行うためのファイルがあります。
configディレクトリ 設定ファイルが入ります。
DBの接続やログ出力の設定など、様々な設定ファイルがあります。
databaseディレクトリ DB関連のファイルがあります。
Laravelフレームワークの機能であるマイグレーションやシーダ(初期データ)などを扱います。
publicディレクトリ Webサーバーのルートディレクトリとして見られる場所で、ここにあるファイルが公開されます。javascriptやCSSなどが配置されます。
resourcesディレクトリ コンパイルされる前の、ビューやCSS、JavaScript、他の様々な言語のファイルも格納されます。
routesディレクトリ アプリケーションのルートを定義するファイルが格納されています。どこに、どのようにアクセスさせるかの設定ができます。
storageディレクトリ コンパイル済みのBladeテンプレート、セッションファイル、キャッシュファイル等が配置されます。
testsディレクトリ 自動テスト用のファイルが配置されています。
代表的なPHPUnitテストはデフォルトで格納済みで、そこに自動テストのファイルを作ったりします。
vendorディレクトリ Composerによる依存パッケージが配置されます。

よく使うディレクトリ

以下のディレクトリはよく使うので、覚えておくといいと思います。

  • app
  • database
  • public
  • resources
  • routes