No Joomla! 2.5.x Eu poderia simplesmente executar, JRequest::get('post');
mas vendo como JRequest
está obsoleto no Joomla! 3.x eu devo usar JInput
.
No momento, esse é o código que estou usando para obter o todo $_POST
:
$app = JFactory::getApplication();
$postData = $app->input->getArray(array_flip(array_keys($_POST)));
Mas isso parece bastante complicado e eu me deparo com problemas se usado em conjunto com $app->input->set();
eu acho que haveria uma maneira melhor?
Ao pesquisar isso antes de encontrar pessoas dizendo que você pode simplesmente executar
$app = JFactory::getApplication();
$postData = $app->input->post;
Mas quando tentei isso, simplesmente obtive uma instância do JInput
objeto.
Respostas:
É o caminho a percorrer, você receberá um objeto JInput e poderá usá-lo como JRequest
O filtro pode ser 'int', 'cmd' ou muitos outros - a lista completa pode ser encontrada nesta função: https://github.com/joomla/joomla-cms/blob/a3df15f1ddad6d9051d53f939b6afd2f5fca60b7/libraries/joomla/filter/input .php # L138
Se você quiser apenas a matriz, poderá fazer
Mas você deve evitar esse estilo de acessar dados do usuário sem filtrar.
fonte
$_POST
sem realmente saber os nomes dos vars que preciso obter, é por isso que o uso desseJInput
objeto não é útil em muitos casos. Ainda é uma boa resposta.$app->input->post->getArray();
só é válido no Joomla 3.2.0 e posterior. E em qualquer versão anterior (incluindo a 2.5) você precisa usar$app->input->getArray($_POST)
Parece que outra maneira de conseguir isso é simplesmente passar uma matriz vazia:
Isso recuperará tudo no
JInput
var de dados como se você estivesse acessando o$_REQUEST
super.Isso não funciona no Joomla! Versão 2.5.x do
JInput
embora.fonte
Espero que isso funcione,
JRequest :: get ('post');
Isso o ajudará a buscar os dados do equivalente a $ _POST no PHP.
fonte