Механизм работы с переменными в Joomla 3 следующий:
Получаем объект input
$jinput = JFactory::getApplication()->input;
Теперь с помощью метода объекта jinput получаем нужную нам переменну следующим образом
$foo = $jinput->get('varname', 'default_value', 'filter');
По умолчанию, для параметра 'filter' используется значение 'cmd'
Значения для параметра filter
- INT или INTEGER - целое значение
- UINT - целое абсолютное значение
- FLOAT или DOUBLE - число с десятичными значениями
- BOOL или BOOLEAN - значение логического типа
- WORD - большие буквы a-z
- ALNUM - буквы и цифры
- CMD - большие буквы и цифры, точка, черточка, символ подчеркивания.
- BASE64 - строка в формате BASE64
- STRING - строка
- HTML - преобразует HTML в строку, удаляет тэги и атрибуты тэгов
- ARRAY - используется для получения массивов
- PATH -
- RAW - переменная не фильтруетя
-
USERNAME - удаляются недопустимые символы для имени пользователя
Можно вместо параметра 'filter' использовать альтернативные методы, например
// Вместо $input->get('name', '', 'STR'); // можно использовать $input->getString('name', '');
А вот такой вариант уже не пройдет
$input->getArray('name', array());
Вместо 'name' должна быть переменная типа массив. И если это будет ассоциативный массив, то getArray вернет массив с ключами и пустыми значениями.
Получение переменной из супер глобальных массивов
$foo = $jinput->get->get('varname', 'default_value', 'filter'); $foo = $jinput->post->get('varname', 'default_value', 'filter'); $foo = $jinput->server->get('varname', 'default_value', 'filter'); $foo = $jinput->cookie->get('cookie_name', 'default_value', 'filter');
Или чтобы получить, весь объект
$foo = $jinput->get('varname', null, null);
Задание значения переменной
$jinput->set('varname', $foo);
Получение данных о переданных файлах делается через обращение к переменной супер глобального массива files
$files = $input->files->get('jform1');
Подробнее о методах для работы с переменными >> https://docs.joomla.org/Retrieving_request_data_using_JInput
См. также >> Работа с переменными в Joomla 2.5