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');