Переменные окружения

Содержание...

Фреймворк Вебасист предоставляет разработчику приложения ряд сервисных функций, упрощающих работу с переменными окружения (массивами $_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 без пробельных символов с начале и конце строки либо пустую строку, если параметр не был передан