Laravelのルートメソッドを使ってコントローラーメソッドをクラス名で接続する方法


  1. まず、routes/web.phpファイルを開きます。

  2. ルートを定義するために、Route::メソッドを使用します。具体的な例を示します。

use App\Http\Controllers\HomeController;
Route::get('/example', [HomeController::class, 'methodName']);

上記の例では、/exampleというURLにアクセスした場合に、HomeControllerクラスのmethodNameメソッドが呼び出されます。

  1. [HomeController::class, 'methodName']の部分で、コントローラークラスとメソッドを指定しています。HomeController::classHomeControllerクラスの完全修飾名を表し、methodNameは呼び出したいメソッドの名前です。

  2. ルートメソッドは他のHTTPメソッド(POST、PUT、DELETEなど)にも適用できます。以下は、POSTメソッドに対する例です。

Route::post('/example', [HomeController::class, 'methodName']);
  1. 複数のルートメソッドを同じURLに適用する場合は、matchメソッドを使用します。以下は、GETとPOSTメソッドの両方に対する例です。
Route::match(['get', 'post'], '/example', [HomeController::class, 'methodName']);
  1. すべてのHTTPメソッドに対してルートメソッドを適用する場合は、anyメソッドを使用します。
Route::any('/example', [HomeController::class, 'methodName']);

これで、Laravelのルートメソッドを使用してコントローラーメソッドをクラス名で接続する方法がわかりました。必要に応じて、他のルートパラメーターやミドルウェアを追加することもできます。