Laravel学習記録 #028 ルーティングを学ぶ
Laravelのルーティング機能について学習したものをまとめています。
Laravelでのルーティングについて
ルーティングはルーティングファイルに記述する
routesディレクトリ内のweb.phpやapi.phpなどのファイルに定義
web.phpはWebアプリケーション用、api.phpはAPI用のルーティング
HTTPメソッドに応じてリクエストを処理
特定のURIへのリクエストを対応するコントローラーのメソッドに紐づけられる
ルートに名前を付けることができる
名前付きルートは、route()ヘルパーを使用してURIを生成できる
ルーティングを定義する
マニュアルを確認しながらコードについて確認します。
ルーティング定義方法
HTTPメソッド、URI、calbackを組み合わせて定義します。
Route::get($uri, $callback);
Route::post($uri, $callback);
Route::put($uri, $callback);
Route::patch($uri, $callback);
Route::delete($uri, $callback);
Route::options($uri, $callback);
getで/greetingにアクセスされた場合、Hello Worldを返す場合は以下のようにします。
use Illuminate\Support\Facades\Route;
Route::get('/greeting', function () {
return 'Hello World';
});
コントローラーに紐づけるならこう
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\GreetController;
Route::get('/greeting', [GreetController::class, 'hello']);
// コントローラー
public function hello() {
return 'Hello World';
}
ルートに名前をつけるならnameメソッドで
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\GreetController;
Route::get('/greeting', [GreetController::class, 'hello'])->name('hello');
// 使うときはrouteヘルパを使うことでURIを生成できる
route('hello');
ルートパラメータ
詳細ページの表示などURLの特定の値から情報を取得したい時があります。
そんな時にはルートパラメータが使えます。
Route::get('/user/{id}', function (string $id) {
return 'User '.$id;
});
「/user/123」というアクセスで「User 123」が返ります。
ルートパラメータは複数持たせることも可能です。
この記事が気に入ったらサポートをしてみませんか?