ルートはどの URI が指定されたときに,どのような処理を呼び出すかを指定します.現在定義されているルートの一覧を確認するには,php artisan route:list
を実行します.まだ何も追加していない初期状態では次のような結果になります.
vagrant@ubuntu2204 comment_app $ php artisan route:list ⏎
GET|HEAD / ........................................................
POST _ignition/execute-solution ignition.executeSolution › Spa…
GET|HEAD _ignition/health-check ignition.healthCheck › Spatie\Lara…
POST _ignition/update-config ignition.updateConfig › Spatie\La…
GET|HEAD api/user .................................................
GET|HEAD sanctum/csrf-cookie sanctum.csrf-cookie › Laravel\Sanctum…
Showing [6] routes
vagrant@ubuntu2204 comment_app $
実際のルートの定義は routes/web.php に次のように記載されています.つまり, /
のリクエストに対して,welcome という名前のビューを呼び出すことが定義されています.具体的には resources/views/welcome.blade.php というファイルを呼び出すことを意味しています.
routes/web.php
<?php
use Illuminate\Support\Facades\Route;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider and all of them will
| be assigned to the "web" middleware group. Make something great!
|
*/
Route::get('/', function () {
return view('welcome');
});
この routes/web.php に /comments
の URI が指定されたときに CommentsController の index 関数を呼び出すように設定してみます.
routes/web.php
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\CommentsController;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider and all of them will
| be assigned to the "web" middleware group. Make something great!
|
*/
Route::get('/', function () {
return view('welcome');
});
Route::get('/comments', [CommentsController::class, 'index']) -> name('comments.index');
上の記載によってルートの定義が追加されたことを確認しよう.
vagrant@ubuntu2204 comment_app $ php artisan route:list ⏎ GET|HEAD / ........................................................ POST _ignition/execute-solution ignition.executeSolution › Spa… GET|HEAD _ignition/health-check ignition.healthCheck › Spatie\Lara… POST _ignition/update-config ignition.updateConfig › Spatie\La… GET|HEAD api/user ................................................. GET|HEAD comments ....... comments.index › CommentsController@index GET|HEAD sanctum/csrf-cookie sanctum.csrf-cookie › Laravel\Sanctum… Showing [7] routes vagrant@ubuntu2204 comment_app $
Web サーバを起動して,実際に /comments にアクセスしてみよう.(Web サーバを終了するには Ctrl + C を押下してください)
vagrant@ubuntu2204 comment_app $ php artisan serve --host=192.168.56.101 --port=8000 ⏎
INFO Server running on [http://192.168.56.101:8000].
Press Ctrl+C to stop the server