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

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

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