Механизм работы с переменными в 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