Различия между классами запроса

Laravel 5.1 имеет следующие классы, которые, похоже, имеют одно и то же имя, а некоторые имеют аналогичное поведение.

use App\Http\Requests\Request; use Illuminate\Support\Facades\Request; use Illuminate\Support\Facades\Input; 

Каковы различия между классами запроса и когда мы должны использовать каждый класс?

Если вы посмотрите на http://laravel.com/docs/5.1/facades, вы увидите, что и входной фасад в качестве фасада запроса является фасадом класса:

 Illuminate\Http\Request 

Приложение \ Http \ Requests \ Request, о котором вы говорите, это тот же класс. Существует одна незначительная разница в фасадах для запроса и ввода. См. Это сообщение о точной разнице https://stackoverflow.com/a/29961400/1129489

Вот ответ tl;dr из ответа на https://stackoverflow.com/a/29961400/1129489

  1. Не используйте класс Input. Это то же самое, что и Facases \ Request, и существует по старой причине.

Что касается моей собственной базы кода, я собираюсь использовать следующее соглашение:

 use Illuminate\Http\Request as HttpRequest; use Illuminate\Support\Facades\Request;