ホームページ  >  記事  >  PHPフレームワーク  >  laravel HTTPリクエスト:入力情報の取得

laravel HTTPリクエスト:入力情報の取得

齐天大圣
齐天大圣オリジナル
2020-12-14 19:02:141984ブラウズ

laravel フレームワークでの入力の取得は非常に便利で、入力を取得するためのさまざまなメソッドが用意されています。

次のように、laravel で Illuminate\Http\Request インスタンスを使用してリクエストを受け入れます。

use Illuminate\Http\Request;

$request = new Request();
echo $request->method();

単純な自動注入メソッドを使用できます。次のように使用します。

<?php
namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;

class IndexController extends Controller
{
    public function index (Request $request)
    {
        dump($request->method());    
    }
}

リクエスト パスとリクエスト メソッドを取得する

リクエスト メソッドを取得するのは非常に簡単で、method メソッドを使用するだけです。さらに、現在のリクエスト アクションを決定するメソッドがあります isMethod

if ($request->isMethod(&#39;post&#39;)) {
    // ...
}

リクエスト パスを取得するにはいくつかのメソッドがあり、それぞれに違いがあります。たとえば、URL アドレスの場合: http:// example.com/path1/path2?a=23&b=3、3つのメソッドで取得できる値は以下の通りです。

  • path(): パスを取得、 path1/path2

  • url(): URL アドレスを取得しますが、含まれていませんか?そして次の文字列。 http://example.com/path1/path2

  • fullUrl(): フルパスを取得します。 http://example.com/path1/path2?a=23&b=3

##Get input

以下の Getすべての入力を取得する、または単一の入力を取得して入力の一部を取得するなど、いくつかの側面からの入力。

すべての入力を取得する

すべての入力を取得するには、all() と input() の 2 つの方法があります。入力にパラメーターを追加しないということは、すべてを受け入れることを意味します。

$request->all();
// or
$request->input();

入力の取得

入力の取得には、

input ## も使用されます。 #Method ですが、取得する必要があるフィールドの値を表す最初のパラメータを指定する必要があります。

$request->input(&#39;name&#39;);
Input は、フィールド値が取得されない場合に設定されるデフォルト値である 2 番目のパラメーターを受け入れることもできます。例:

$request->input(&#39;name&#39;, &#39;php.cn&#39;);

また、inputでは数値やjsonデータも取得できます。取得する際には演算子

"."

$request->input(&#39;users.name&#39;);
$request->input(&#39;users.0.name&#39;);
$request->input(&#39;users.*.name&#39;);
に加えて、 input メソッドの他に、入力を取得できる

query

メソッドもありますが、両者の違いは、input はフォームとクエリ文字列から入力を取得できるのに対し、クエリ メソッドは入力のみを取得できることです。クエリ文字列から。 query メソッドと input メソッドの使用方法は同じであるため、ここでは説明しません。 入力を動的に取得するという簡単な方法もあり、属性を通じて直接入力を取得できます。たとえば、フォームに名前フィールドが含まれている場合、次のメソッドで

$request->name;

を取得できますが、Laravel は最初にリクエストボディ内のパラメーターを検索することに注意してください。値が存在しない場合は、ルート パラメーターから検索されます。

bool 値の取得laravel は、フィールド値を取得し、それを bool 型値にアクティブに変換する関数を提供します。メソッドはブール値です。

if ($request->boolean(&#39;name&#39;)) {
    // ...
}

値が存在するかどうかを判断する入力値が存在するかどうかを判断するにはいくつかの方法があり、使用方法が少し異なります。

has

filled はどちらも入力値が存在するかどうかを判断するために使用できますが、違いは次のとおりです。 has はフィールド値が存在する限り true を返します。そして、fill が存在するだけでなく、true を返すには空であってはなりません。 has は複数のフィールドを判定するためにも使用できます。複数のフィールド値が存在する場合は true を返し、それ以外の場合は false を返します

if ($request->has([&#39;name&#39;, &#39;email&#39;])) {}

また、hasAny はフィールド値が 1 つだけ存在する場合に true を返します

if ($request->hasAny([&#39;name&#39;, &#39;email&#39;])) {}

部分入力の取得Laravel は、only メソッドまたは else メソッドを使用して部分入力を取得することもできます。その使用方法と機能はまったく同じです。返されるのは連想配列です:

$request->only(&#39;name&#39;, &#39;email&#39;);
// or
$request->only([&#39;name&#39;, &#39;email&#39;]);

以上がlaravel HTTPリクエスト:入力情報の取得の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。