четверг, 1 декабря 2011 г.

Создание расширения для CMS Joomla 1.7. Класс JRequest Часть 5.1

В предыдущей статье “Создание расширения для CMS Joomla 1.7. Часть 5. Добавление переменной запроса.” мы создали компонент, путем изменения модели. Наша новая модель брала значение из переменной и в соответствии с этим значением возвращала сообщение. Для того, чтобы получить значение переменной мы использовали класс JRequest. В данном посте я хотел бы подробнее разобрать данный класс: выяснить его методы. И опять же обращаясь к официальной документации по CMS Joomla, мы посмотрим, так что же умеет класс JRequest. Ну, что все запаслись терпением, ну тогда приступаем...

Класс JRequest служит для доступа Joomla Framework к переменным запроса. Это относиться к $_GET, $_POST и $_REQUEST запросам. Полученные переменные можно пропускать через встроенные фильтры для избежания инъекции или получать в чистом виде.
Методы:
  1. checkToken - проверяет форму маркера в запросе
    boolean checkToken([string $method = 'post'])
    • string $method - метод запроса, в котором надо искать маркер открытого ключа
  1. clean - очищает запрос от инъекции
    void clean()
  1. get - выбирает и возвращает запрос массива
mixed get([string $hash = 'default'], integer $mask)
    • string $hash - получает GET, POST, FILES, METHOD
    • integer     $mask - фильтр маски переменной
  1. getBool - берет и возвращает фильтрованные данные, возвращает только ложь или истину
    bool getBool(string $name, [string $default = false], [string $hash = 'default'])
    • string $name - имя переменной
    • string $default - значение по умолчанию, если переменной не существует
    • string $hash - где переменную получаем из GET, POST, FILES, COOKIE, METHOD
  1. getCmd - cmd (словесный и числовой) фильтр
    string getCmd(string $name, [string $default = ''], [string $hash = 'default'])
    • string $name - имя переменной
    • string $default - значение по умолчанию, если переменной не существует
    • string $hash - где переменную получаем из GET, POST, FILES, COOKIE, METHOD
  1. getFloat - берет и возвращает отфильтрованную переменную, фильтрует только цифры с плавающей точкой
    float getFloat(string $name, [string $default = 0.0], [string $hash = 'default'])
    • string $name - имя переменной
    • string $default - значение по умолчанию, если переменной не существует
    • string $hash - где переменную получаем из GET, POST, FILES, COOKIE, METHOD
  1. getInt - берет и возвращает отфильтрованную переменную, фильтрует только целочисленные цифры
integer     getInt(string $name, string $default, [string $hash = 'default'])
    • string $name - имя переменной
    • string $default - значение по умолчанию, если переменной не существует
    • string $hash - где переменную получаем из GET, POST, FILES, COOKIE, METHOD
  1. getMethod - получает метод запроса
    string getMethod()
  1. getString - берет и возвращает отфильтрованную переменную, фильтрует плохой HTML-код, если он не перекрывается маской
string getString(string $name, [string $default = ''], [string $hash = 'default'], integer $mask)
    • string $name - имя переменной
    • string $default - значение по умолчанию, если переменной не существует
    • string $hash - где переменную получаем из GET, POST, FILES, COOKIE, METHOD
    • integer     $mask - маска фильтра для переменной
  1. getUInt - берет и возвращает отфильтрованную переменную, фильтрует только беззнаковое целое число
    integer getUInt(string $name, string $default, [string $hash = 'default'])
    • string $name - имя переменной
    • string $default - значение по умолчанию, если переменной не существует
    • string $hash - где переменную получаем из GET, POST, FILES, COOKIE, METHOD
  1. getURI - берет полный путь запроса
    string getURI()
  1. getVar - берет и возвращает переменную
    mixed getVar(string $name, [string $default = null], [string $hash = 'default'], [string $type = 'none'], integer $mask)
    • string $name - имя переменной
    • string $default - значение по умолчанию, если переменной не существует
    • string $hash - где переменную получаем из GET, POST, FILES, COOKIE, METHOD
    • string $type - возвращает тип переменной
    • integer     $mask - маска фильтра для переменной
  1. getWord - берет и возвращает отфильтрованную переменную, фильтрует только слова
    string getWord(string $name, [string $default = ''], [string $hash = 'default'])
    • string $name - имя переменной
    • string $default - значение по умолчанию, если переменной не существует
    • string $hash - где переменную получаем из GET, POST, FILES, COOKIE, METHOD
  1. set - устанавливает переменную запроса
    void set(array $array, [string $hash = 'default'], [boolean $overwrite = true])
    • array $array - ассоциативный массив пар ключ - значение
    • string $hash - где переменную получаем из GET, POST, FILES, COOKIE, METHOD
    • boolean $overwrite - если установлена истина и существующий ключ найден, то переменная перезаписывается, в противном случае игнорируется
  1. setVar - устанавливает значение переменной в одной из переменных запроса
    string setVar(string $name, [string $value = null], [string $hash = 'method'], [boolean $overwrite = true])
    • string $name - имя
    • string $value - значение
    • string $hash - хеш
    • boolean $overwrite - разрешить перезапись или нет
  1. _cleanArray - добавляет массив в глобальный массив и проверяет, что глобальная переменная не подверглась атаке
    void _cleanArray( &$array, [ $globalise = false], array $array, boolean $gloabalise)
    • array $array - массив для очистки
    • boolean $gloabalise - истина, если массив добавлен в глобальный
    • &$array
    • $globalise
  1. _cleanVar - очистка входной переменной
    mixed _cleanVar(mixed $var, integer $mask, [string $type = null])
    • mixed $var - входящая переменная
    • integer $mask - Фильтры битовой маски. 1 =no trim: Если этот флаг будет очищен и входной является строка, и строка будет иметь начальные и конечные пробелы, то они обрезаются. 2 = allow_raw: Если установлено, не больше, фильтрация не выполняется, старшие биты игнорируются. 4 = allow_html: HTML разрешен, но будет проходить через безопасные HTML-фильтр в первую очередь.
    • string $type - тип переменной
  1. _stripSlashesRecursive - Полосы слэши рекурсивно по массиву.
    array _stripSlashesRecursive(array $value)
    • array $value - массив или не массив строк
 Фух, на этом теорию по классу JRequest можно завершать. Надеюсь Вам было не слишком нудно ). В следующих постах мы продолжим наращивать “мускульную массу” нашего компонента. Так, что следите за выходом новых статей, подписавшись на мой блог. Или следите за мной в twitter, а, да, Вы меня можете найти и в G+. Всем продуктивной разработки Ваших сайтов на столь замечательном движке, как CMS Joomla.

Понравилась статья? Поблагодарить автора:

Введите e-mail адрес:



0 коммент.:

Отправить комментарий