• 投稿日:2023年08月31日 10時21分09秒
  • 更新日:2023年08月31日 10時21分09秒
Laravelのroutesについて

Laravelのroutesについて

最初に

Laravelのroutesの書き方について、自分の纏めです。どうしても少し離れると忘れがちになるため。
web.phpに書くことを前提とします。

誰でも見ることが出来るページの場合

Route::group(['prefix' => 'hogehoge', 'as' => 'hogehoge.'], function () {
    Route::controller(HogehogeController::class)->group(function () {
        Route::get('/hugahuga', 'index')->name('index'); 
    });
});

説明

これで以下URLにアクセスするとHogehogeControllerクラスのindex関数が実行されるようになります。

https://{ドメイン}/hogehoge/hugahuga

 

フロントで呼び出すなら以下のような感じです(React環境)
route(‘hogehoge.index’)

認証ユーザのみが見れるページ

Route::group(['prefix' => 'hogehoge', 'as' => 'hogehoge.', 'middleware' => ['auth']], function () {
    Route::controller(HogehogeController::class)->group(function () {
        Route::get('/hugahuga', 'index')->name('index'); 
    });
});

説明

groupの引数にmiddlewareを追加することで、リクエスト前後の処理を指定することが出来ます。
ここで指定する名前はapp/Http/Kernel.phpの$routeMiddlewareのキー名です。

middlewareを追加する書き方は色々ありますが、今回は一つわかっていれば十分なので割愛します。

最後に

groupで囲むと、中の処理はgroupで指定したものの中でURIの接頭部や名前空間の接頭部を共通化することが出来ます。
prefixやas、コントローラークラスなどは共通化しておくと便利です。

コントローラーの中にRouteクラスのgetメソッドやpostメソッドを使ってHTTPリクエストの種類を決めます。他にもいっぱいありますが今回は割愛。

メソッドの第一引数にプレフィックス、第二引数にコントローラーの対象関数名を指定。

最後にnameプロパティをつけてあげることで、名前でURLやリンクを作ることが出来るようなります。

【Laravel】configファイルについて
React環境をサクッと構築
【LINUXコマンド】grep
Laravel Sailでサクッと環境構築
Ubuntuからインストーラを使ってインストールしたNode.jsを削除する
WSL2にNVM(Node.js)をインストール
Laravelのroutesについて
WEB AR開発 A-Frame AR.js