В 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');