Комментарии

Фильтрация в классах JRequest и Jlnput
( 12 Голосов )

 

В классах JRequest и JInput допускается фильтрация значений с помощью типов фильтров из класса JFilterlnput. Так, в классе JRequest фильтрация организуется в двух формах. В общей форме вызывается метод JRequest:: getVar(). В качестве четвертого аргумента этого метода указывается тип одного из фильтров. Ниже приведен характерный пример применения фильтра ARRAY в классе JRequest.

$data = JRequest::getVar('jform', array(), 'post', 'array');

Следует иметь в виду, что по умолчанию тип фильтра для метода getVar () отсутствует, а следовательно, при вызове этого метода нужно всегда указывать конкретный тип фильтра. В противном случае фильтрация данных не состоится. В состав класса JRequest входят следующие служебные методы, допускающие фильтрацию данных: getlnt(), getUInt (),getFloat (),getBool(), getWord(), getCmd() и getString{).

Класс Jlnput считается относительно новым, поскольку он был внедрен в версии 11.1 платформы Joomla, заменив собой класс JRequest. В этом классе имеется метод get (), используемый таким же образом, как и метод JRequest: : getVar (). В качестве третьего аргумента этого метода указывается тип фильтра. Ниже приведены три равнозначных примера применения фильтра CMD, название которого выделено полужирным.

$х = JRequest::getVar('option', 'post', 'default', 'cmd'); 
$x = JRequest:: getCmd ('option', 'default'); 
$x = JFactory:: getApplication()->input->get('option', 'default', 'and');

Начиная с версии 12.1 платформы Joomla класс JRequest считается устаревшим и непригодным к употреблению. А в системе управления информационным наполнением (CMS) веб-сайтов версии Joomla 2.5 этот класс применяется более чем в 700 местах. Но и здесь ему на смену в конечном итоге придет класс Jlnput.

 


Понравился материал? Пригодилась информация? Плюсани в социалки!


 
Похожие новости