Joomlaで! 2.5.x単にJRequest::get('post');
を実行することもできますが、JRequest
はJoomlaでは非推奨です。 3.x JInput
を使用する必要があります。
彼らの現時点では、これが_$_POST
_全体を取得するために使用しているコードです。
_$app = JFactory::getApplication();
$postData = $app->input->getArray(array_flip(array_keys($_POST)));
_
しかし、これはかなり扱いにくいようで、$app->input->set();
と組み合わせて使用すると問題が発生します。もっと良い方法があると思いますか?
簡単に走れると言っている人を見つける前にこれを検索すると
_$app = JFactory::getApplication();
$postData = $app->input->post;
_
しかし、これを試してみると、JInput
オブジェクトのインスタンスを取得しただけです。
$app = JFactory::getApplication();
$postData = $app->input->post;
行く方法です、あなたはJInputオブジェクトを取得し、JRequestのようにそれを使うことができます
$var = $postData->get('varname', 'defaultvalue', 'filter');
フィルターは「int」、「cmd」、またはその他の多くの場合があります-完全なリストはこの関数で見つけることができます: https://github.com/joomla/joomla-cms/blob/a3df15f1ddad6d9051d53f939b6afd2f5fca60b7/libraries/joomla /filter/input.php#L138
配列だけが必要な場合は、次のことができます
$array = $app->input->post->getArray();
ただし、フィルタリングなしでユーザーデータにアクセスするこのスタイルは回避する必要があります。
これを達成する別の方法は、単に空の配列を渡すことです:
$app = JFactory::getApplication();
$postData = $app->input->getArray(array());
これは、$_REQUEST
スーパーにアクセスしているかのように、JInput
データ変数のすべてを取得します。
これはJoomlaでは機能しません! JInput
の2.5.xバージョン。