2017-02-10 6 views
3

Я начинаю использовать Laravel, и я хотел бы знать, как я должен выбирать один над другим.Разница между запросом (Фасад) и Illuminate Http Request

Начиная с версии 5.0 Документация Laravel изменила пример запроса с Request::get('form_input') на $request->get('form_input'), но я не мог найти объяснений, почему они это сделали.

Мои сомнения:

  1. Есть ли разница между этими Requests?
  2. К черту они?
  3. Что является наиболее предпочтительным?

ответ

1

Straigth Ответ: Нет (особой разницы) исключением того, что: Реферирование из этого источника, How laravel facades work and how to use

Laravel фасад представляет собой класс, который обеспечивает статический-подобный интерфейс для служб внутри контейнера. Эти фасады, согласно документации, служат прокси для доступа к базовой реализации услуг контейнера.

Я больше не мог согласиться с этим. Но что касается меня, используя рисунок фасада , просто сделайте мой код чистым :)

2

Фасад запроса и помощник request() ссылаются как на экземпляр приложения («запрос»). Я думаю, что примеры в документации изменены на $ запрос, потому что вы можете определить свой собственный запрос производного класса и контейнерный сервис будет автоматически вводить его в вызове действия, как и в случае СформироватьЗапроса, т.е .:

public function store(UserStoreRequest $request) 
{ 
    $name = $request->input('name');