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でのルート、コントローラ、モデルの基本的な役割を、できるだけ簡単に説明

Posted at

Laravelでのルート、コントローラ、モデルの基本的な役割を、できるだけ簡単に説明します。

1. ルート (Route)

  • 役割: ルートは、ユーザーがブラウザで入力したURLを基に、どのコントローラやアクションを実行するかを決定する設定です。
  • 仕組み: ルートはURI(Uniform Resource Identifier)とHTTPメソッド(GET, POSTなど)に基づいて、適切なコントローラのメソッドにリクエストを渡します。
  • :
php
Route::get('/login', [AuthController::class, 'showLoginForm']);
  • この例では、/loginというURLにアクセスしたときに、AuthControllershowLoginFormメソッドが呼ばれます。

2. コントローラ (Controller)

  • 役割: コントローラは、ルートによって指定されたロジックを実行する部分です。ユーザーからのリクエストを処理し、ビューを返したり、データベースとのやり取りを行ったりします。
  • 仕組み: コントローラには複数のメソッドがあります。それぞれが特定の動作(例えばログイン処理やデータの表示)を担当します。
  • :
php
class AuthController extends Controller
{
    public function showLoginForm()
    {
        return view('auth.login');
    }

    public function login(Request $request)
    {
        // ログイン処理のロジック
    }
}
  • showLoginFormはログインページを表示し、loginはユーザーのログイン処理を行います。

3. モデル (Model)

  • 役割: モデルは、データベースのテーブルを表現し、そのデータにアクセスするための窓口となる部分です。Laravelでは、主にEloquentというORM(Object-Relational Mapping)を使ってデータベース操作を行います。
  • 仕組み: モデルはテーブルと1対1で対応づけられ、テーブルのデータに対する処理(作成、取得、更新、削除など)を簡単に行えるようになっています。
  • :
php
class User extends Model
{
    protected $fillable = ['name', 'email', 'password'];
}
  • Userモデルは、通常、usersテーブルと対応します。$fillableは、配列内のプロパティを一括代入可能にする設定です。

組み合わせ

  • ブラウザでユーザーが/loginにアクセスすると、ルートがAuthControllershowLoginFormメソッドを呼び出します。
  • showLoginFormメソッドがログインページを表示します。
  • その後、ユーザーがログインフォームを送信すると、loginメソッドが呼び出され、Userモデルを使ってデータベースのユーザー情報を確認し、認証を行うことができます。

このように、ルート、コントローラ、モデルが協力して、ユーザーの操作を管理し、アプリケーションの動作を実現しています。Breezeを使うと、これらの基本構造が自動生成されるため、初心者でもすぐに認証機能を実装し始めることができます。

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?