こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、10年目エンジニアです。
この記事では、 Laravelのルーティングを設定するweb.phpの概要を解説していきます。
前提条件:実行環境について
実行環境は以下の通りです。
OS | Windows10 |
---|---|
Laravelのバージョン | 8.10.0 |
この記事では
C:\Laravel\LaravelSample
配下にLaravelのプロジェクトを作成しています。
web.phpとは
web.phpとは、ブラウザからリクエストされたURLに対してルーティングを定義することができるファイルです。
ルーティングとは、リクエストされたURLに応じて
- コントローラーに処理を渡す
- 直接ビューを呼び出す
などを決めることです。
インストールした直後は↓のように記載されています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<?php /* |-------------------------------------------------------------------------- | Web Routes |-------------------------------------------------------------------------- | | Here is where you can register web routes for your application. These | routes are loaded by the RouteServiceProvider within a group which | contains the "web" middleware group. Now create something great! | */ Route::get('/', function () { return view('welcome'); }); |
web.phpは
プロジェクト\routes\web.php
に格納されています。
web.phpの基本的なルーティングの書き方
web.phpの基本的なルーティングの書き方は以下になります。
1 2 3 4 5 6 |
<?php use Illuminate\Support\Facades\Route; use App\Http\Controllers\SampleController; Route::get('/showvalue', [SampleController::class, 'showValue']); |
ルーティングで使いたいコントローラーは
1 |
use App\Http\Controllers\SampleController; |
と宣言しておきます。
Route::getのところが何を意味しているか?というと下画像になります。
例としてgetをあげていますが、ほかにも
- post
- put
- patch
- delete
- options
を設定することができます。
コントローラーへのルーティングの詳しい説明や、そのほかのweb.phpのルーティングの書き方は、以下の記事をご参考ください。
【Laravel】コントローラーへのルーティングの設定の仕方を解説します
prefixについて
【Laravel】Routeのprefixについて解説します
ルートパラメータを設定するやり方について
【Laravel】ルートパラメータでURLからパラメータを取得する方法について解説します
注意点としまして、Laravelのバージョン7までとバージョン8のルーティングの書き方が全く異なる点です。
バージョン7までは
1 2 3 4 5 |
<?php use Illuminate\Support\Facades\Route; Route::get('/sample', 'SampleController@showPage'); |
という書き方でした。
上記でルーティングの設定をしていると、Target class [○○Controller] does not exist.というエラーメッセージが表示されてしまいます。
エラーについては、こちらの記事をご参考ください。
【Laravel】エラーメッセージ「Target class [○○Controller] does not exist.」が表示されたときの解決策をお伝えします
ちなみに、APIのルーティングは【プロジェクト】\routes\api.phpを使います。
まとめ:ルーティングはweb.phpで設定する
以上がLaravelのルーティングを設定するweb.phpの概要でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント