it-swarm-tr.com

$ _POST'un tamamını almanın doğru yolu nedir?

Joomla! 2.5.x Sadece JRequest::get('post'); çalıştırabilirim ama JRequest olarak görmek Joomla! 3.x JInput kullanmalıyım.

Onlara şu anda bu tüm $_POST Almak için kullandığım kod:

$app = JFactory::getApplication();
$postData = $app->input->getArray(array_flip(array_keys($_POST)));

Ama bu oldukça hantal gibi görünüyor ve $app->input->set(); ile birlikte kullanıldığında sorunla karşılaşıyorum _ Ben daha iyi bir yol olacağını düşünürdüm?

Bunu ararken sadece koşabileceğinizi söyleyen insanlar bulmadan önce

$app = JFactory::getApplication();
$postData = $app->input->post;

Ancak bunu denediğimde JInput nesnesinin bir örneğini aldım.

26
Spunkie
$app = JFactory::getApplication();
$postData = $app->input->post;

Gidilecek yol, bir JInput nesnesi alacak ve bunu JRequest gibi kullanabilirsiniz

$var = $postData->get('varname', 'defaultvalue', 'filter');

Filtre 'int', 'cmd' veya diğerleri olabilir - tam liste bu işlevde bulunabilir: https://github.com/joomla/joomla-cms/blob/a3df15f1ddad6d9051d53f939b6afd2f5fca60b7/libraries/joomla /filter/input.php#L138

Sadece diziyi isterseniz,

$array = $app->input->post->getArray();

Ancak filtrelemeden kullanıcı verilerine erişme tarzından kaçınmalısınız .

31
Harald Leithner

Bunu başarmak için başka bir yol boş bir dizi geçmek gibi görünüyor:

$app = JFactory::getApplication();
$postData = $app->input->getArray(array());

Bu, JInput data değişkenindeki her şeyi $_REQUEST Süper.

Bu Joomla! 2.5.x _ JInput sürümü.

3
Spunkie