В Laravel, как я могу получить* только * параметры POST?
Я знаю, что можно использовать $request->get('my_param')
или Input::get('my_param')
чтобы получить сообщение или получить параметр запроса в Laravel (я сейчас играю с версией v5/dev, но это то же самое для 4.2).
но как я могу убедиться, что мой my_param
пришел через параметр POST и был не только от ?my_param=42
добавлен к URL-адресу? (помимо возврата к ol'$_POST
и $_GET
суперглобалы и выбрасывание тестируемости из окна)
(Примечание: я также знаю, что Request::get
способ даст мне POST param для запроса POST, если оба POST URL / GET param с тем же именем существуют, но... но если param приземлится через строку запроса url вместо этого, я хочу, чтобы Laravel-идиоматический способ узнать это)
2 ответов
в классе Illuminate\Http\Request
(или на самом деле класс Symphony он простирается от Symfony\Component\HttpFoundation\Request
) есть две переменные класса, которые хранят параметры запроса.
public $query
- для получения параметров
public $request
- для параметров POST
оба экземпляра Symfony\Component\HttpFoundation\ParameterBag
, который реализует get
метод.
вот что вы можете сделать (хотя это не очень симпатично)
$request = Request::instance();
$request->request->get('my_param');