HTTPリクエストインスタンスの使い方|Laravel
アクションメソッドの引数をRequest $request
(Illuminate\Http\Request
)とした、HTTPリクエストインスタンスの使い方。
use Illuminate\Http\Request;
class SampleController extends Controller {
public function actionMethod(Request $request) {
}
}
リクエストメソッド
メソッド | 内容 | 出力例 |
---|---|---|
$request->method() |
リクエストされたHTTPメソッドを取得する | GET |
$request->isMethod() |
HTTPメソッドを判定する | 真偽値 |
$request->path() |
リクエストされたURIを取得する | show |
$request->url() |
リクエストされたURLを取得する | http://localhost/laravel-prj/public/show |
$request->fullUrl() |
リクエストされたURLをクエリ文字列付きで取得する | http://localhost/laravel-prj/public/show?id=1 |
$request->input() |
GETやPOSTの入力値を取得する ルーティングで記述した {パラメータ名} は取得できない |
入力値 |
$request->all() |
全入力を連想配列で取得する | 連想配列 |
isMethod() の使用例
パラメータにHTTPメソッド名を指定します。
$request->isMethod('get')
input() の使用例
パラメータにフォームのname属性を指定します。
$request->input('id')
URLの取得について
$request->url()
と$request->fullUrl()
の違いについて。
- http://localhost/laravel-prj/public/show/1でアクセスした場合
$request->url()
と$request->fullUrl()
の結果はhttp://localhost/laravel-prj/public/show/1で同じ
- http://localhost/laravel-prj/public/show?id=1でアクセスした場合
$request->url()
はhttp://localhost/laravel-prj/public/showになる
変数が送信されているかどうかの確認
isset($request->name)
でname
が送信されているか判定できます。ファイル送信などの判定に使用します。
また、下記のようにして、上記name
にあたる部分を動的に指定することも可能です。
// $status->code は数値や文字列.
$key = 'status_' . $status->code;
if (isset($request->$key)) {
}