コントローラーの作成とアクションの定義

Laravel講座

今回の記事では、Laravelの基礎として、コントローラーの作成とアクションの定義について解説します。Laravelにおけるコントローラーは、アプリケーションの中核を担い、ビジネスロジックを処理する重要な役割を果たしています。さっそく、コントローラーの作成とアクションの定義について見ていきましょう。

コントローラーの作成

コントローラーを作成するためには、Laravelのartisanコマンドラインツールのmake:controllerを使用します。ターミナルで以下のコマンドを実行してみましょう。

php artisan make:controller UserController
Bash

上記のコマンドを実行すると、UserControllerという名前のコントローラーが作成されます。app/Http/Controllersディレクトリに作成されたコントローラーファイルを開いてみましょう。

アクションの定義

コントローラー内のアクションは、HTTPリクエストに対して実行される処理を定義します。アクションはコントローラークラス内のメソッドとして定義され、各ルートに対応します。以下は、UserController内に2つのアクションを定義する例です。

app/Http/Controllers/UserController.php
namespace App\Http\Controllers;

use App\Models\User;
use Illuminate\Http\Request;

class UserController extends Controller
{
    public function index()
    {
        $users = User::all();

        return view('users.index', ['users' => $users]);
    }

    public function show($id)
    {
        $user = User::find($id);

        return view('users.show', ['user' => $user]);
    }
}
PHP

上記の例では、indexアクションとshowアクションを定義しています。indexアクションでは、全てのユーザーを取得してusers.indexビューに渡しています。showアクションでは、指定されたIDのユーザーを取得してusers.showビューに渡しています。

まとめ

コントローラーはLaravelアプリケーションにおいて重要な役割を果たします。この記事では、コントローラーの作成とアクションの定義について解説しました。コントローラーを使用することで、ビジネスロジックを効果的に処理できるようになります。

著者

Webエンジニア歴30年、フリーランスバックエンドエンジニア。

PHP歴約30年(Laravel 7年・FuelPHP 5年・CakePHP・自作FW)、
JavaScript歴約20年(React・Vue各4年)。
AWS(EC2 / CloudFront / RDS / API Gateway など)・
GCP(BigQuery)を使ったバックエンド開発を中心に、
複数の事業会社・受託案件でシステム設計から実装・運用まで担当しています。

PHPがバージョン4の時代から書いており、
Laravelが普及する前のフレームワーク乱立期も経験しています。
「昔はこう書いていたが今はこう」という変遷を肌で知っているエンジニアとして、
単なるコマンドの使い方だけでなく、なぜそうするのかの背景まで伝えることを意識して書いています。

このブログでは、実務で実際に詰まった箇所・調べたこと・気づいたことを
そのまま記事にしています。誰かの「詰まり」が解決するきっかけになれば幸いです。

千原 耕司をフォローする

役にたったと思ったら応援をお願いします m(._.)m

Laravel講座ルーティングとコントローラー
スポンサーリンク
シェアする
千原 耕司をフォローする
タイトルとURLをコピーしました