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