Dans Joomla! 2.5.x Je pourrais simplement exécuter JRequest::get('post');
mais voir JRequest
est obsolète dans Joomla! 3.x je devrais utiliser JInput
.
En ce moment, c’est le code que j’utilise pour obtenir l’ensemble du $_POST
:
$app = JFactory::getApplication();
$postData = $app->input->getArray(array_flip(array_keys($_POST)));
Mais cela semble plutôt encombrant et je rencontre des problèmes s’il est utilisé conjointement avec $app->input->set();
, je pense qu’il y aurait un meilleur moyen?
Lors de la recherche de ceci avant que je trouve des personnes en disant que vous pouvez simplement courir
$app = JFactory::getApplication();
$postData = $app->input->post;
Mais lorsque j'ai essayé cela, j'ai simplement obtenu une instance de l'objet JInput
.
$app = JFactory::getApplication();
$postData = $app->input->post;
Est le chemin à parcourir, vous obtiendrez un objet JInput et pourrez l'utiliser comme JRequest
$var = $postData->get('varname', 'defaultvalue', 'filter');
Le filtre peut être 'int', 'cmd' ou beaucoup d'autres. La liste complète se trouve dans cette fonction: https: //github.com/joomla/joomla-cms/blob/a3df15f1ddad6d9051d53f939b6afd2f5f5fca60b7/lib/joomla /filter/input.php#L138
Si vous voulez seulement le tableau, alors vous pouvez faire
$array = $app->input->post->getArray();
Mais vous devriez éviter ce style d'accès aux données utilisateur sans filtrage.
Il semble qu'une autre façon d'y parvenir consiste simplement à passer un tableau vide:
$app = JFactory::getApplication();
$postData = $app->input->getArray(array());
Ceci récupérera tout dans la variable JInput
comme si vous accédiez au super $_REQUEST
.
Cela ne fonctionne pas dans le Joomla! Version 2.5.x de JInput
cependant.