カテゴリ: Laravel 更新日: 2025/11/27

Laravelのプロジェクト構造を理解しよう!初心者向けディレクトリ解説

Laravelのプロジェクト構造を理解しよう!初心者向けディレクトリ解説
Laravelのプロジェクト構造を理解しよう!初心者向けディレクトリ解説

先生と生徒の会話形式で理解しよう

生徒

「Laravelっていうフレームワークを使ってWebアプリを作りたいのですが、プロジェクトの中のフォルダがいっぱいあって混乱しています…」

先生

「Laravelは機能ごとにフォルダが分かれているので、最初は多く感じるかもしれません。でも、どこに何があるかを理解すれば、アプリを効率よく作れるようになりますよ。」

生徒

「それぞれのフォルダにはどんな意味があるんですか?」

先生

「それでは、Laravelプロジェクトの構造をひとつひとつ解説していきましょう!」

1. Laravelのプロジェクト全体構造とは?

1. Laravelのプロジェクト全体構造とは?
1. Laravelのプロジェクト全体構造とは?

Laravel(ララベル)は、PHPというプログラミング言語で作られたWebアプリケーションフレームワークです。Laravelで新しくプロジェクトを作ると、自動的にいくつものフォルダやファイルが作られます。これらはすべて、開発をしやすくするために決まったルールで整理されています。

フォルダ構造を簡単に例えると、ひとつの学校の中に教室が分かれていて、それぞれの教室で違う科目の授業をしているようなイメージです。

では、具体的なディレクトリ(フォルダ)の役割を見ていきましょう。

2. app/ フォルダ

2. app/ フォルダ
2. app/ フォルダ

app/はLaravelアプリケーションの中心となる場所です。ここには、主にビジネスロジック(アプリの中核となる処理)が含まれています。

例えば、「ユーザーを新規登録する」「商品を一覧で表示する」などの処理を担当します。

  • Http/コントローラなどが入り、Webからのリクエスト(要求)を処理します。
  • Models/:データベースとやり取りするモデル(データのかたまり)を管理します。

3. routes/ フォルダ

3. routes/ フォルダ
3. routes/ フォルダ

routes/フォルダには、WebサイトのURLとその処理内容を結びつけるルーティングという設定が書かれています。

たとえば、「/homeというURLにアクセスされたら、ホーム画面を表示する」というような決まりごとをここに書きます。

  • web.php:通常のWeb画面のルートを記述
  • api.php:スマホアプリや他システムとのやり取りに使うAPIのルート

4. resources/ フォルダ

4. resources/ フォルダ
4. resources/ フォルダ

resources/は、ユーザーに見せる画面の見た目を作る場所です。

  • views/:HTMLテンプレートが入っていて、Blade(ブレード)テンプレートと呼ばれる仕組みで画面を作ります。
  • lang/:日本語や英語など、多言語対応のテキストを管理します。

5. public/ フォルダ

5. public/ フォルダ
5. public/ フォルダ

public/は、インターネットからアクセスされる公開用のフォルダです。

この中にあるindex.phpがアプリの入り口になります。また、CSSファイルや画像ファイル、JavaScriptなどのファイルもここに置きます。

6. config/ フォルダ

6. config/ フォルダ
6. config/ フォルダ

config/には、Laravelアプリ全体の設定ファイルが入っています。

例えば、「メールはどこから送るか」「アプリの名前は何か」といった情報をここで設定できます。

7. database/ フォルダ

7. database/ フォルダ
7. database/ フォルダ

database/には、データベースに関する情報がまとめられています。

  • migrations/:テーブル(表)の構造を定義するファイル
  • seeders/:初期データを登録するファイル

たとえば「ユーザーという表を作りたい」と思ったら、ここにファイルを作って定義します。

8. vendor/ フォルダ

8. vendor/ フォルダ
8. vendor/ フォルダ

vendor/は、Laravelやその他の外部ライブラリが自動でインストールされる場所です。

開発者が直接この中を触ることはあまりなく、裏方でLaravelを支えるフォルダです。

9. .envファイル(ドットエンブ)

9. .envファイル(ドットエンブ)
9. .envファイル(ドットエンブ)

.envファイルは、アプリケーションの環境ごとの設定を行う場所です。

たとえば、開発中はローカルのデータベース、本番環境では本番用のデータベース、というように切り替えができます。

ファイル名の先頭が「.(ドット)」になっているのは隠しファイルの意味です。

10. artisanコマンド

10. artisanコマンド
10. artisanコマンド

Laravelでは、artisan(アーティザン)というコマンドを使って、さまざまな作業を簡単に実行できます。

例えば「コントローラを作る」「データベースの設定を反映する」といった作業を、コマンドで一瞬でできます。

Windowsの場合はコマンドプロンプト、Macならターミナルを開いて、次のように入力します:


php artisan list

このコマンドで、使える命令一覧を確認できます。

テキスト部分の文字数:2806文字

まとめ

まとめ
まとめ

Laravelのプロジェクト構造は最初に目にすると複雑に感じられますが、それぞれの役割を丁寧に見ていくと自然に整理された仕組みであることが分かります。初心者がつまずきやすい点を中心に振り返りながら、改めて各フォルダの意味や開発においてどのように使われるのかを理解することで、Laravelの学習がより進めやすくなります。とくに、appフォルダに含まれるビジネスロジックの構造、routesフォルダにおけるURLと処理の結びつき、resourcesフォルダが担う画面設計の重要性などは、実際のアプリ開発で繰り返し触れる要素となります。また、publicフォルダが外部公開される静的ファイルの置き場であること、configフォルダでアプリ全体の設定を細かく制御できること、databaseフォルダにあるマイグレーションやシーダーがデータベース管理の基礎になることなどは、Laravelを扱う上で欠かせない知識です。さらに、vendorフォルダにはフレームワークを動かすための膨大なライブラリが含まれているため、内部構造を無理に触らずに仕組みとして理解しておくことが大切です。加えて、環境設定を切り替えるためのenvファイルは、開発環境と本番環境を柔軟に使い分けるための中心的な役割を果たします。最後に、artisanコマンドがもたらす生産性の高さもあらためて注目すべき点です。さまざまな作業を短いコマンドで実行できるため、画面を介した作業よりも素早く正確に処理を進めることができます。このように、Laravelのプロジェクト全体構造は、個々のフォルダがそれぞれの役割を持ちながら協力して動作することで、安定して開発できる仕組みを提供しています。ここで整理した情報を繰り返し確認しながら理解を深めることで、より円滑にアプリケーションを構築できるようになります。

サンプルコードで理解を深めよう

Laravelのプロジェクト構造をより実感するために、シンプルなルーティングとコントローラのコード例を紹介します。routesフォルダのwebphpにルートを追加し、対応するコントローラを作成すると、プロジェクトの仕組みが具体的に理解しやすくなります。


Route::get('/sample', [SampleController::class, 'index']);

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class SampleController extends Controller
{
    public function index()
    {
        return view('sample');
    }
}

このようなコードを実際に作成してみることで、appフォルダの中にあるコントローラの役割や、resourcesフォルダに用意するビューの意味がより明確になります。フォルダ構造が理解できていると、どこにどのファイルを置けばよいのか迷わず作業できるため、学習効率も大きく向上します。

先生と生徒の振り返り会話

生徒

「最初はフォルダが多すぎて難しく感じていたのですが、ひとつずつ役割を知ると意外と整理されているんだと分かりました。」

先生

「そのとおりですよ。Laravelは開発しやすくするために明確な構造が用意されています。使い慣れてくれば自然に理解が深まっていきます。」

生徒

「特にappフォルダとroutesフォルダの関係がつかめたのがよかったです。コードを書くときに迷わなくなりそうです。」

先生

「それはよい気付きですね。resourcesフォルダやconfigフォルダなども触れていくと、さらに理解が深まりますよ。」

生徒

「artisanコマンドも便利だと感じました。作業のスピードがかなり上がりますね。」

先生

「その調子です。今回学んだプロジェクト構造を心に留めておけば、Laravelでアプリを作るときに大きな助けになりますよ。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Laravelのプロジェクト構造が複雑に見えるのはなぜですか?初心者でも理解できますか?

Laravelのプロジェクト構造が複雑に見えるのは、最初から多くのフォルダとファイルが生成されるためです。しかし、それぞれのフォルダが役割ごとに整理されているため、初心者でも仕組みを知れば理解できます。appフォルダ、routesフォルダ、resourcesフォルダといった基本要素を順番に覚えると全体がわかりやすくなります。
関連記事:
カテゴリの一覧へ
新着記事
New1
CodeIgniter
CodeIgniterのコントローラクラスの作り方を完全ガイド!初心者でもわかる基礎から実践まで
New2
Symfony
Symfonyのフォームラベルを多言語対応!初心者でもわかる翻訳設定ガイド
New3
Laravel
Laravelでユーザー登録機能を作る方法!初心者向けにバリデーションとリダイレクトをやさしく解説
New4
CodeIgniter
CodeIgniterのコントローラとは?役割と基本構造を完全解説!初心者向けガイド
人気記事
No.1
Java&Spring記事人気No1
Laravel
Laravelのデータベース設定方法を完全ガイド!初心者でもわかる.envファイルの使い方
No.2
Java&Spring記事人気No2
Laravel
Laravelのビューとは?Bladeテンプレートの基本を解説
No.3
Java&Spring記事人気No3
Laravel
Laravelでセッションを扱う方法!保存方法と利用例を解説
No.4
Java&Spring記事人気No4
Laravel
Laravelのルート一覧を確認する方法!初心者でもわかるphp artisan route:listの使い方
No.5
Java&Spring記事人気No5
Laravel
Laravelでルーティングを設定する方法!web.phpと基本ルートの書き方を初心者向けに徹底解説
No.6
Java&Spring記事人気No6
Laravel
Laravelでログを出力する方法(Monolog・storage/logs)
No.7
Java&Spring記事人気No7
Laravel
LaravelのBlade構文まとめ!@if @foreach など基本ディレクティブ解説
No.8
Java&Spring記事人気No8
Laravel
Laravelのルートグループの使い方!初心者でもわかるprefixやミドルウェアの設定方法