Я знаю, что валидация может применяться к запросам, но я не уверен, что то же самое верно для входного фасада.
Ответ 1
Да, оба фасада очень похожи. Причина этого в том, что базовый класс тот же (Illuminate\Http\Request). Вы можете увидеть это, посмотрев как классы Facade, так и их аксессоры:
Illuminate\Support\Facades\Input
protected static function getFacadeAccessor()
{
return 'request';
}
Illuminate\Support\Facades\Request
protected static function getFacadeAccessor()
{
return 'request';
}
Как вы поняли, одним из отличий является метод Input::get(). Это просто "переведено" на Request::input() непосредственно в Facade:
public static function get($key = null, $default = null)
{
return static::$app['request']->input($key, $default);
}
Заключение
Они, по сути, одинаковы. Это означает, что нет необходимости менять существующий код. Однако, если вы этого хотели, это не имело бы никакого значения.
При написании нового кода вы должны использовать Request. Input нигде не упоминается в документации для 5.0. Это не (официально) устарело, но рекомендуется использовать Request.
То, что мне также очень нравится в Request, заключается в том, что у Фасада есть имя базового класса. Таким образом, выясняется, с чем вы имеете дело. Однако это также может быть причиной ошибок. Если вы используете что-то вроде Request::input('name'), обязательно импортируйте Facade с помощью use Request; или use Illuminate\Support\Facades\Request и неuse Illuminate\Http\Request. Противоположность применяется для инъекций зависимостей.