Input Facade API と Request Facade API に基づくと、Input :: get()メソッドが唯一の違いのようです。ここで何かが足りませんか?
検証をリクエストに適用できることは知っていますが、入力ファサードにも同じことが当てはまるかどうかはわかりません。
はい、両方のファサードは非常に似ています。これは、基礎となるクラスが同じであるためです(_Illuminate\Http\Request
_)。これは、Facadeクラスとそのアクセサーの両方を見るとわかります。
_Illuminate\Support\Facades\Input
_
_protected static function getFacadeAccessor()
{
return 'request';
}
_
_Illuminate\Support\Facades\Request
_
_protected static function getFacadeAccessor()
{
return 'request';
}
_
お気づきのとおり、1つの違いはInput::get()
メソッドです。これは、ファサードで直接Request::input()
に「変換」されます。
_public static function get($key = null, $default = null)
{
return static::$app['request']->input($key, $default);
}
_
それらは本質的に同じです。つまり、既存のコードを変更する必要はありません。しかし、あなたが望むなら、それは何の違いもありません。
新しいコードを書くときは、Request
を使用する必要があります。 Input
は、5.0のドキュメントのどこにも記載されていません。 (公式に)非推奨ではありませんが、Request
の使用をお勧めします。
Request
について私が本当に気に入っているのは、ファサードが実際には基になるクラスの名前を持っていることです。このようにして、何を扱っているのかが明確になります。ただし、これがエラーの原因になることもあります。 Request::input('name')
のようなものを使用する場合は、必ず_use Request;
_または_use Illuminate\Support\Facades\Request
_およびnot _use Illuminate\Http\Request
_を使用してファサードをインポートしてください。依存性注入には逆のことが当てはまります。