Em Laravel, como posso obter * apenas * parâmetros POST?

Eu sei que se pode usar $request->get('my_param') ou Input::get('my_param') para obter um parâmetro de solicitação POST ou GET em Laravel (Estou toying com a versão v5 / dev agora, mas é o mesmo para 4.2).

Mas como posso me certificar de que meu my_param veio através de um parâmetro POST e não foi apenas de um ?my_param=42 anexado ao URL? (além de reverter para o ol ‘ $_POST e $_GET superglobals e jogar testabilidade para fora da janela)

(Nota: Eu também sei que o método Request::get me dará o POST param para uma solicitação POST, se um POST for um URL / GET param com o mesmo nome, mas … mas se o param aterrissem na via a string de consulta url, em vez disso, eu quero uma maneira Laravel-idiomatic de saber isso)

Na class Illuminate\Http\Request (ou, na verdade, a class Symphony que se estende do Symfony\Component\HttpFoundation\Request ), existem duas variables ​​de class que armazenam parâmetros de solicitação.

public $query – para parâmetros GET

public $request – para parâmetros POST

Ambos são uma instância do Symfony\Component\HttpFoundation\ParameterBag que implementa um método get .

Aqui está o que você pode fazer (embora não seja muito bonito)

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

Por que tentar complicar as coisas quando você pode fazer facilmente o que precisa:

 $posted = $_POST;