Обработка запроса

Класс является единым интерфейсом для работы со всеми входящими данными

Определение браузера пользователя

c\request::getBrowser($userAgent);

Определение версии браузера по его UserAgent, переданном в заголовках HTTP запроса. В качестве аргумента - можно передать любую другую строку. По умолчанию - используется UserAgent

 

Функция возвращает массив с параметрами браузера

array(
	'name'=>'Opera',
	'version'=>'12.0'
);
c\request::spider($userAgent);

Определение поискового бота по UserAgent.

Возвращает строку с названием бота, или false в случае, если бот не обнаружен

 

Автор метода: Leontyev Valera (feedbee@gmail.com)

Входящие параметры

Для работы со входящими параметрами - используются обертки, способные проверить переменную и установить значение по умолчанию, если переменная не существует

c\request::get($parameter,$default=null);
c\request::post($parameter,$default=null);
c\request::input($parameter,$default=null); // request or cookie
c\request::request($parameter,$default=null);
c\request::cookie($parameter,$default=null);
c\request::file($parameter,$default=null);

Работа с файлами

Для обработки входящего массива файлов существует отдельная функция получения конкретного свойства массива $_FILES по его ключу

c\request::fileTmpName($paremeter,$default=null);
c\request::fileName($paremeter,$default=null);
c\request::fileSize($paremeter,$default=null);
c\request::fileError($paremeter,$default=null);
c\request::fileType($paremeter,$default=null);

Дополнительно существует ряд функций, описывающих состояние файла

c\request::isFile($parameter); // был ли отправлен файл
c\request::isValidFile($parameter); // содержит ли файл ошибки при загрузке
c\request::fileCopy($parameter,$destination); // Перемещает вложенный файл по пути назначения
c\request::fileToPic($parameter); // Создает экземпляр изображения pic на основе переданного изображения

Обработка множественных файлов

В html существует возможность передать массив файлов через указание нескольких input с одинаковым названием в виде массива [] или через свойство multiple=true

Для работы с неизвестным заранее множеством файлов - можно использовать функцию, пробегающую по каждому файлу в отдельности

while (c\request::eachFile($parameter){
    echo c\request::fileName();
}

Функции работы с запросом

Для возможности узнать какие-то значения клиента - существуют функции обертки.

c\request::ip(); // get IP
c\request::domain(); // get Domain
c\request::url(); // get request URL
c\request::protocol(); // get protocol

Создано при помощи сервиса Core CMS