Фреймворк Вебасист предоставляет разработчику приложения ряд сервисных функций,
упрощающих работу с переменными окружения (массивами $_GET
, $_POST
,
$_COOKIE
и $_SERVER
). Все функции работы с переменными окружения скомпонованы в виде методов системного
статического класса waRequest
.
Метод waRequest::getMethod()
возвращает вид HTTP-запроса (GET или POST).
Методы чтения переменных окружения:
waRequest::get($name, $default, $type); waRequest::post($name, $default, $type); waRequest::cookie($name, $default, $type); waRequest::server($name, $default, $type);
Кроме методов для работы со стандартными переменными окружения, в классе waRequest
имеется аналогичный метод для работы с параметрами, получаемыми от механизма маршрутизации фронтенда
(т. е. параметрами запроса, содержащимися в адресах ЧПУ):
waRequest::param($name, $default, $type)
Все перечисленные методы имеют одинаковую сигнатуру вызова с тремя необязательными
аргументами: $name, $default, $type
:
$name
— имя параметра/переменной$default
— значение по умолчанию (возвращается, если запрашиваемая переменная отсутствует)$type
— название типа данных, к которому приводится полученное (строковое) значение
Поддерживаемые типы переменных:
waRequest::TYPE_INT
— приведение к целочисленному типу.waRequest::TYPE_ARRAY
— массив произвольных значений.waRequest::TYPE_ARRAY_TRIM
— массив строковых значений, к которым примерена функцияtrim()
.waRequest::TYPE_ARRAY_INT
— при передаче массива все его элементы приводятся к целочисленному типу; если передается строка вида '1,3,6,10', то возвращается массив целых чисел, перечисленных в строке через запятую.waRequest::TYPE_STRING
— приведение к строковому типу — значение по умолчанию.waRequest::TYPE_STRING_TRIM
— к строке, полученной в переменной, дополнительно применяется функцияtrim()
.
Примеры
waRequest::get()
возвращает весь массив$_GET
$id = waRequest::get('id');
возвращает$_GET['id']
либоnull
, если параметр id отсутствует в запросе)$page = waRequest::get('p', 1);
как в предыдущем примере, но, если в массиве$_GET
нет элементаp
, то возвращается указанное значение по умолчанию, т. е.1
$page = waRequest::get('p', 1, waRequest::TYPE_INT);
как в предыдущем примере, но возвращаемый результат дополнительно приводится к типуint
$ids = waRequest::get('ids', [], waRequest::TYPE_ARRAY_INT);
возвращает массив целых чисел либо пустой массив, если массивids
не был передан$name = waRequest::post('name', '', waRequest::TYPE_STRING_TRIM);
возвращает параметрname
из массива$_POST
без пробельных символов с начале и конце строки либо пустую строку, если параметр не был передан