LoginSignup
1
2

More than 1 year has passed since last update.

Laravelのフォルダ構成

Last updated at Posted at 2021-05-02

Laraelでアプリケーションを作成したときに一気にできるフォルダについて、何をどこに記載すればいいかわからなくなることがあるため、参考程度にフォルダやファイルの役割を記載しておきます。

動作環境

macOS Big Sur
MacBook Air (M1, 2020)

Laravelで新規プロジェクトを作成する

terminalからコマンドを打つことでlaravelを使った新規プロジェクトを自動で作成することができます。
プロジェクトを作成したいディレクトリに移動し、以下のコマンドを打ちます。

新規プロジェクト作成
compsoer create-project laravel/laravel sampleapp --prefer-dist

Laraelのフォルダ構成

作成したプロジェクトの直下のファイル群

ファイル名 ファイルの内容
[.editorconfig] テキストファイルを編集・保存する際にインデントや改行コードを設定したものに統一するための設定情報
[.env] [.env.example] 動作環境に関する設定情報
[.styleci.yml] PHPやJS、CSSのフォーマットをチェックし、自動で整形可能なサービスの設定情報
[.gitattributes] [.gitignore] git利用に関する情報
[artisan] artisanコマンド(php artisan serveで使ったもの)
[composer.json] [composer.lock] composerの利用に関するもの
[package.json] JavaScriptのパッケージ管理ツール(npm)で利用するもの
[phpunit.xml] PHPUnit(ユニットテストプログラム)に関するもの
[server.php] サーバー起動時に利用されるプログラム
[webpack.mix.js] webpackというJavaScriptパッケージツールで使うもの

作成したプロジェクトの直下のフォルダ群

フォルダ名 フォルダの内容
app アプリケーションのプログラム部分がまとめられるところ。アプリケーションの開発時には、ここに必要なスクリプトファイルを追加していきます。
bootstrap アプリケーション実行時に最初に行われる処理がまとめられています。
config 設定関係のファイルがまとめられています。
database データベース関連のファイルがまとめられています。
public 公開フォルダです。JavaScriptやスタイルシートなど、外部にそのまま公開されるファイルはここにまとめられています。
resources リソース関係の配置場所です。プログラムが利用するリソースファイルが用意されます。プログラムのテンプレートファイルなどが用意されます。
routes ルート情報の保存場所です。アクセスするアドレスに割り当てられるプログラムの情報などがが記されています。
storage ファイルの保存場所です。アプリケーションのプログラムが保存するファイルなどが置かれます。ログファイルなどはここに保存されます。
tests ユニットテスト関係のファイルが用意されます。
vendor フレームワーク本体のプログラムがまとめられています。

appフォルダ直下のフォルダについて

主に作業することになるappフォルダについてはさらに詳しく記載しておきます。

フォルダ名 フォルダの内容
[Console] コンソールプログラムを配置するところです。
[Exceptions] 例外に関する処理を配置するところです。
[Http] これが、Webアプリケーションにアクセスしたときの処理をまとめておくところです。アプリケーションの基本的なプログラムはここに作成します。
[Providors] プロバイダと呼ばれるプログラムを配置します。
[Models] モデルと呼ばれるプログラムを配置します。

作成したプロジェクト直下のroutesフォルダについて

apiを作るにあたって重要になるルーティングという機能についての設定情報はこちらにまとめます。
バックエンドの開発では頻繁に作業することになるので詳しく記載しておきます。

ファイル名 ファイルの内容
[api.php] APIのルーティングです。例えばユーザー認証などのように、プログラムないから利用するAPIの機能を特定のアドレスに割り当てるの利用されます。
[channels.php] ブロードキャストチャンネルのためのルーティングです。
[console.php] コンソールプログラムのためのルーティングです。
[web.php] これが、一般的なWebページとしてアクセスするためのルーティングです。
1
2
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
1
2