Laravel 5 / Lumen Request Header?

Поэтому я не совсем уверен, как это сделать. Я пробовал несколько вещей, и я перечислю один ниже, но то, что я пытаюсь сделать, – это хранить информацию, отправленную в HTTP-запросе в переменной PHP.

Вот сообщение от Chrome Postman от меня, отправляющего запрос, который я хочу отправить. Примечание. «Pubapi» – это «заголовок».

PostMan View

Я уже возился с запросами Lumen, как вы можете видеть здесь ( http://lumen.laravel.com/docs/requests ), и попытался использовать нижеприведенное ниже, чтобы отобразить их, но не работает.

echo Request::all(); 

Я помещаю это в свой контроллер, и у меня есть …

 use Illuminate\Http\Request; 

в моем контроллере.

Итак, как я могу сказать, сохранить заголовок, который я отправляю «pubapi» в переменную php в моем контроллере?

РЕДАКТИРОВАТЬ

Не уверен, что это поможет, однако, глядя на документы Laravel frameworks, я вижу этот http://laravel.com/api/5.0/Illuminate/Http/Request.html#method_header, пытающийся сделать эту ошибку в моем коде. Так, например, я попробовал следующее и получил ту же ошибку.

 echo Request::header('pubapi'); 

Попробуйте изменить Illuminate\Http\Request Request .

 - use Illuminate\Http\Request; + use Request; 

Вы неправильно понимаете объект запроса Laravel на двух уровнях.

Во-первых, ошибка, которую вы получаете, связана с тем, что вы ссылались на объект вместо фасада. Фасады имеют способ пересылки вызовов статических методов нестационарным методам.

Во-вторых, вы отправляете значение в виде заголовка, но пытаетесь получить доступ к параметрам запроса. Это никогда не даст вам то, что вы хотите.

Вот простой способ увидеть пример того, что вы хотите, создав тестовый маршрут следующим образом:

 Route::match(['get','post'], '/test', function (Illuminate\Http\Request $request) { dd($request->headers->all()); }); 

Отправьте на этот маршрут, и вы увидите свои заголовки, один из которых будет pubapi . Обратите внимание, что определение метода маршрута соответствует тому, как вы отправляете запрос (т.е. GET или POST).

Давайте применим это к контроллеру, ArticleController:

 <?php namespace App\Http\Controllers; use Illuminate\Http\Request; class ArticleController extends Controller { public function index(Request $request) { $pubapi = $request->header('pubapi'); // string $headers = $request->headers->all(); // array /* $pubapi === $headers['pubapi'] */ } } 

С помощью

 echo app('request')->header('pubapi'); 

Вместо

 echo Request::header('pubapi'); 

Казалось, что он работает отлично. Может ли кто-нибудь дать дополнительное объяснение тому, почему это сработало, а мой оригинальный метод – нет?