Laravel – ルーティング

ルーティングの基本形

Route::メソッド('パス', ルーティング先);

たとえばGETメソッドで'ドメイン/bbs/show_posts'がリクエストされ、そのコントローラがBbsController、メソッドがshowPostsの場合は以下のように書く。

メソッド

HTTPメソッドに対応したRouteクラスのスタティックメソッドが準備されている。

  • get
  • post
  • put
  • patch
  • delete
  • options

URL

HTTPリクエストで指定されるURLを記述する。

  • ドメイン以下のパスを書く
  • 頭の'/'はあってもなくてもよい

たとえばGETメソッドによるhttp://www.my_site/bbs/show_postsへのリクエストを扱う場合は以下のようになる。

または

ルーティング先

コントローラーとアクションを指定

'コントローラー名@アクション名'で指定する。

たとえば上記のURLへのリクエストをBbsControllerコントローラーのshowPostsアクションにルーティングしたい場合は以下のように指定する。

シングルアクションコントローラーを指定

'コントローラー名'で指定する。

たとえば上記のURLへのリクエストでシングルアクションコントローラー'ShowPosts'にルーティングしたい場合は以下のように指定する。

直接ビューを指定

コントローラーを介さずに直接ビューを指定する方法。無名関数を使い、戻り値にビューを指定したview()関数を渡す。

Route::get('パス', function () { return view('ビュー'); });

たとえば先のURLへのリクエストでビューファイルが以下のように配置されているとする。

resources/views/bbs/profile.blade.php

この場合のルーティングは以下のようになる。

ビューで参照する変数がある場合、以下のようにコントローラーと同じように無名関数の中で設定できる。

直接出力

無名関数の戻り値に直接文字列を渡すと、それがそのまま送信される。

Route::get('パス', function () { return '文字列'; });

以下の例では、ブラウザーに単に「こんにちは」とだけ表示される。

直接HTMLを送ることも可能。

ルートパラメーター

ルートパラメーターは、以下の様にリクエストURIの一部としてパラメーターの値が送信される。

http://ドメイン/.../パラメーター

パラメーターの値のみ送り、それを扱う変数の名前はLaravelで指定する。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です