ralavel version10
43ページ
コントローラーにHelloControllerを作り、それにルートを割り当てる部分。
本
Route::get('hello', 'HelloController');
コントローラーの呼び出しが必要
use App\Http\Controllers\HelloController;
web.php
でHelloController
をインポートする必要がある。( use
文でコントローラをインポート)
この記述がないと、HelloController::class
が正しく解決されず、ルートが機能しない。
Laravel 8以降、コントローラの呼び出しは通常 use App\Http\Controllers\HelloController;
のように、完全修飾クラス名を指定する必要がある。
Route::get()の書き方
Route::get('hello', [HelloController::class, 'index']); // 配列形式で指定
まず第2引数は配列形式で記述します。
'index'
は、HelloController
内の index
メソッドを指定しています。このメソッドが /hello
にアクセスした際に実行される。
シングルアクションコントローラのルート
50ページ
Route::get('hello', HelloController::class);
Route::get()
を使って __invoke()
メソッドを呼び出す場合、コントローラクラス名だけを渡すのが正しいです。配列で書く必要はありません。
うさぎ
おつかれえええええ!!!