コントローラーとは
コントローラーとはブラウザからのリクエストをもとに、特定の処理を行い、設定されたビューやJSONなどを返却する機能のことです。MVCのCに当たります。
Laravelでコントローラーを作成する
Laravelでは、以下のコマンドでコントローラーを作成できます。ここでは、HelloControllerを作成します。名前は任意のもので構いませんが、すでに作られたコントローラーと同じ名前は付けられません。
php artisan make:controller HelloController
上記のコマンドを実行するとapp/Http/controllersにHelloController.phpが作成されます。ちなみに、以下のようにすることで、フォルダを分けることができます。
php artisan make:controller hello/HelloController
HelloControllerを開くと、以下のようになっているはずです。
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class HelloController extends Controller
{
//
}
このコードはControllerというクラスを継承しています。「//」と記述された波括弧の中に関数を定義します。簡単にHello world from controller.とブラウザに表示するようにします。関数名は何でも構いませんが、ここでは、showHelloとします。
public function showHello() {
return "Hello world from controller.";
}
次にweb.phpに新たにルーティングを追加します。以下のように追加します。http://localhost/hello-controllerにアクセスるように設定します。
Route::get("/hello-controller", [HelloController::class, "showHello"]);
get関数の一つ目の引数はURI(パス)で、二つ目の引数でコントローラーとコントローラーの実行したい関数名の配列を渡します。ブラウザで、http://localhost/hello-controllerに接続すると、Hello world from controller.が表示されます。
以上で、コントローラーの作成が可能となりました。次回はビューの作成について解説していきます。
次:ビューの作成方法