Webアプリケーションフレームワーク Laravel の Illuminate\Http\Request
の書き方メモ。
リファレンス的なものです。
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class UserController extends Controller
{
public function store(Request $request)
{
$name = $request->input('name');
//
}
}
@extends('layouts.app')
@section('body')
<form method="POST" action="{{ route('XXXX') }}">
@csrf
<input type="text" name="name" value="">
//
</form>
@stop
入力の取得
-
動的プロパティで入力を取得
$name = $request->name;
-
全入力を連想配列で取得
$input = $request->all();
-
アップロードファイルを除いて、全入力を連想配列で取得
$input = $request->input();
-
すべてのクエリストリングを連想配列で取得(上記のallやinputにもクエリストリングは含まれる)
$input = $request->query();
-
アップロードファイルの取得
$file = $request->file('csv');
-
"name" の入力を取得
$name = $request->input('name');
-
デフォルト値を指定して取得
$request->input('name', 'Tom');
-
"name" と "password" のみ取得
$input = $request->only('name', 'password');
-
"password" 以外を取得
$input = $request->except('password');
-
リクエストに値が存在するか判定
$request->has('name')
-
すべて存在するか判定
$request->has(['name', 'email'])
-
リクエストに値が存在し、かつ空でないか判定
$request->filled('name')
フラッシュデータ(次のリクエストの間だけ利用できるデータ)の保存
-
すべてをフラッシュデータに保存
$request->flash();
-
"name" と "email" のみフラッシュデータに保存
$request->flashOnly(['name', 'email']);
-
"password" を除いてフラッシュデータに保存
$request->flashExcept('password');
セッション
-
"key" をセッションから取得
$request->session()->get('key');
-
デフォルト値を指定してセッションから取得
$request->session()->get('key', 'default');
その他
-
リクエストURIを返す
$uri = $request->path();
-
HTTPメソッド名(GET、POST等)を返す
$method = $request->method();
-
POSTメソッドか判定
$request->isMethod('POST')
-
リクエストURIがパターンに合致するか判定
$request->is('admin/*')
-
User-Agentを返す
$request->header('User-Agent');