0
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の基礎をまとめて理解!MVCの流れと特徴

Last updated at Posted at 2025-08-13

💡この記事のゴール

Laravelの基本構造(MVC)と開発の流れを、自身の振り返りも兼ねて初学者でも理解できる形でまとめました。最後には小さなアプリを作れるようになる道筋も紹介します。

Laravelとは?

Laravelは、PHPで作られた人気のWebアプリケーションフレームワークです。
アプリ開発に必要な機能(テンプレート、DB接続、ルーティングなど)があらかじめ用意されているため、効率的に開発を進めることができます。

Laravelの主な特徴

  • モダンで書きやすく、可読性が高い文法
  • ComposerやArtisanコマンドなど便利な開発支援ツールが充実
  • 規則性のある開発ができるため、保守・拡張が容易
  • 豊富なライブラリと拡張性
  • MVCアーキテクチャに基づいた設計

MVCとは?

MVCは、以下3つの役割を分けた設計パターンです。

略称 名前 役割
M Model(モデル) データやビジネスロジックを管理。DBとのやり取りを担当
V View(ビュー) ユーザーに見せる画面(HTML)を作成
C Controller(コントローラー) ユーザーのリクエストを受け取り、ModelとViewをつなぐ役割

⭐️メリット

  • 役割分担が明確
  • 再利用性が高い
  • チーム開発で分業しやすい
  • 保守・拡張がしやすい

MVCの各役割(Laravelの場合)

Model(モデル)

  • データやビジネスロジックを管理
  • Laravelでは Eloquent ORM を利用して、SQLを書かずにDB操作が可能
  • DBテーブル定義は Migration ファイルで管理

View(ビュー)

  • ユーザーに見せるHTML部分
  • LaravelではBladeテンプレートを使用
  • PHPをHTMLに埋め込み、条件分岐やループも簡単に書ける

Controller(コントローラー)

  • ユーザーのリクエストを受け取り、必要に応じてModelを操作
  • 取得したデータをViewに渡す
  • ロジック肥大化防止のため、ServiceやRepositoryに分離することもある

MVCの処理の流れ(Laravelの場合)

  1. ユーザーがブラウザでURLにアクセス
  2. routes/web.phpで、どのControllerに処理を渡すかを定義
  3. ControllerがModelを使ってデータを取得または保存
  4. データをViewに渡してHTMLを生成
  5. ユーザーにレスポンスを返す

補足:FormRequestクラス
フォームから送信されたデータは、バリデーション(不正値のチェック)が必要です。LaravelではFormRequestクラスを使うことで、バリデーションルールを専用ファイルにまとめることができます。

qiita.php
// app/Http/Requests/StoreUserRequest.php
public function rules()
{
    return [
        'name' => 'required|max:255',
        'email' => 'required|email',
    ];
}

Controllerでは以下のように安全にデータを取得できます。

qiita.php
public function store(StoreUserRequest $request)
{
    $validated = $request->validated();
}

ルーティングとは?

アクセスされたURLと処理内容を結びつける役割です。

qiita.php
Route::get('/users', [UserController::class, 'index']);

上記では、/users にアクセスがあったら UserControllerindex メソッドが呼ばれます。

この記事を読んだら...(次のステップ)

まずは小さなTodoアプリやCRUD機能を持つアプリを作ってみるのがおすすめです。
実際に、「ルーティング→コントローラー→モデル→ビュー」の流れを一度経験するだけで、Laravelの理解がぐっと深まります。

少しでもためになったら幸いです!

0
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
0
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?