LaravelのControllerとは?
LaravelのControllerは、Routeから受け取ったリクエストを処理する部分です。
例えば、ユーザーがブログ一覧ページにアクセスすると、RouteからControllerが実行され、必要な処理を行ったあとにViewを画面に表示します。
簡単な流れは以下のようになります。
ユーザー → Route → Controller → View
必要な場合は、ControllerからModelを使ってデータベースのデータを取得することもできます。
Controllerを作る
Laravelでは、Artisanコマンドを使ってControllerを作ることができます。
php artisan make:controller BlogController
コマンドを実行すると、以下の場所にファイルが作成されます。
app/Http/Controllers/BlogController.php
サンプルコード
<?php
namespace App\Http\Controllers;
class BlogController extends Controller
{
public function showList()
{
return view('blog.list');
}
}
コード説明
BlogControllerは、Laravelの基本となるControllerを継承して作ります。
class BlogController extends Controller
showList()は、ブログ一覧画面を表示するためのメソッドです。
public function showList()
{
return view('blog.list');
}
return view()を使うと、Viewファイルを画面に表示できます。
return view('blog.list');
上記のコードでは、以下のBladeファイルを表示します。
resources/views/blog/list.blade.php
Routeでは、以下のようにControllerとつなぐことができます。
Route::get('/blogs', [BlogController::class, 'showList']);
そのため、全体の流れは以下のようになります。
/blogsにアクセス → Route → BlogController → showList() → blog.listを表示
まとめ
LaravelのControllerは、Routeから受け取ったリクエストを処理し、必要な結果をViewに渡す役割があります。
また、必要な場合はModelを使ってデータベースからデータを取得し、Viewに渡すこともできます。
簡単にすると、
Route → Controller → Model / View
という流れで使います。

