En Joomla! 2.5.x Podría simplemente ejecutar, JRequest::get('post');
pero ya que JRequest
está en desuso en Joomla! 3.x debería usar JInput
.
En este momento, este es el código que estoy usando para obtener todo $_POST
:
$app = JFactory::getApplication();
$postData = $app->input->getArray(array_flip(array_keys($_POST)));
Pero esto parece bastante engorroso y me encuentro con problemas si se usa junto con $app->input->set();
creo que habría una mejor manera.
Al buscar esto antes, he encontrado personas que dicen que simplemente puedes ejecutar
$app = JFactory::getApplication();
$postData = $app->input->post;
Pero cuando probé esto, simplemente obtuve una instancia del JInput
objeto.
Respuestas:
Es el camino a seguir, obtendrá un objeto JInput y puede usarlo como JRequest
El filtro podría ser 'int', 'cmd' o muchos otros; la lista completa se puede encontrar en esta función: https://github.com/joomla/joomla-cms/blob/a3df15f1ddad6d9051d53f939b6afd2f5fca60b7/libraries/joomla/filter/input .php # L138
Si solo desea la matriz, entonces puede hacer
Pero debe evitar este estilo de acceder a los datos del usuario sin filtrar.
fuente
$_POST
sin saber realmente los nombres de los vars que necesito obtener, es por eso que usar elJInput
objeto así no es útil en muchos casos. Sin embargo, sigue siendo una buena respuesta.$app->input->post->getArray();
solo es válido en Joomla 3.2.0 y posterior. Y en cualquier versión anterior (incluida la 2.5) debe usar$app->input->getArray($_POST)
Parece que otra forma de lograr esto es simplemente pasar una matriz vacía:
Esto recuperará todo en la
JInput
var de datos como si estuvieras accediendo al$_REQUEST
super.Esto no funciona en Joomla! Versión 2.5.x de
JInput
aunque.fuente
Espero que esto funcione
JRequest :: get ('post');
Esto lo ayudará a obtener los datos del equivalente de $ _POST en PHP.
fuente