В Laravel, как я могу получить * только * параметры POST?

Я знаю, что можно использовать $request->get('my_param') или Input::get('my_param'), чтобы получить параметр запроса POST или GET в Laravel (теперь я играю с версией v5/dev, но это то же самое для 4.2).

Но как я могу убедиться, что мой my_param пришел через параметр POST и был не только от ?my_param=42, добавленного к URL? (помимо обращения к ol '$_POST и $_GET суперглобалы и бросание проверяемости из окна)

(Примечание. Я также знаю, что метод Request::get даст мне параметр POST для запроса POST, если оба POST имеют параметр URL/GET с тем же именем, но... но если парам земли in через строку запроса url вместо этого, я хочу Laravel-идиоматический способ узнать это)

Ответы

Ответ 1

В классе Illuminate\Http\Request (или фактически в классе Symphony он распространяется от Symfony\Component\HttpFoundation\Request) есть две переменные класса, которые сохраняют параметры запроса.

public $query - для параметров GET

public $request - для параметров POST

Оба являются экземплярами Symfony\Component\HttpFoundation\ParameterBag, которые реализуют метод get.

Вот что вы можете сделать (хотя это не очень красиво)

$request = Request::instance();
$request->request->get('my_param');

Ответ 2

Почему вы пытаетесь усложнить ситуацию, когда можете легко сделать то, что вам нужно:

$posted = $_POST;