Я знаю, что можно использовать $request->get('my_param')
или же Input::get('my_param')
чтобы получить параметр запроса POST или GET в Laravel (сейчас я играю с версией v5 / dev, но для 4.2 это тоже самое).
Но как я могу убедиться, что мой my_param
пришел через параметр POST и был не только из ?my_param=42
добавлен в URL? (кроме того, чтобы вернуться к старому $_POST
а также $_GET
суперглобальные и бросающие тестируемость в окно)
(Примечание: я также знаю, что Request::get
Метод выдаст мне POST-параметр для POST-запроса, если существуют оба POST-параметра URL / GET с одинаковым именем, но … но если вместо этого параметр попадает через строку запроса url, я хочу использовать Laravel-idiomatic способ узнать это)
В классе 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');
Зачем пытаться усложнить ситуацию, когда вы можете легко сделать то, что вам нужно:
$posted = $_POST;