Фреймворк Вебасист предоставляет разработчику приложения ряд сервисных функций,
упрощающих работу с переменными окружения (массивами $_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
— название типа данных, к которому приводится полученное (строковое) значение
Поддерживаемые типы переменных:
'int'
— приведение к целочисленному типу'array_int'
— при передаче массива все его элементы приводятся к целочисленному типу; если передается строка вида'1,3,6,10'
, то возвращается массив целых чисел, перечисленных в строке через запятую'string'
— приведение к строковому типу — значение по умолчанию'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, 'int');
как в предыдущем примере, но возвращаемый результат дополнительно приводится к типуint
$ids = waRequest::get('ids', array(), 'array_int');
возвращает массив целых чисел либо пустой массив, если массивids
не был передан$name = waRequest::post('name', '', 'string_trim');
возвращает параметрname
из массива$_POST
без пробельных символов с начале и конце строки либо пустую строку, если параметр не был передан