QueryPost
QueryPost предоставляет статические методы для получения параметров текущего POST-запроса.Поддерживает
- проверку наличия параметра
- получение значения с экранированными HTML-символами
- получение исходного значения без обработки
- получение всех параметров POST-запроса
Создавать экземпляр класса не нужно.
Быстрый старт
if (QueryPost::isset('title')) {
$title = QueryPost::getValue('title');
}Проверка параметра
isset($key): bool
Возвращает true, если параметр присутствует в POST-запросе:
if (QueryPost::isset('publish')) {
// Параметр publish передан.
}Проверяйте наличие параметра перед вызовом getOriginalValue().
Получение значения
getValue($key): ?string
Возвращает значение с экранированными специальными HTML-символами:
$title = QueryPost::getValue('title');
if ($title !== null) {
echo '<h1>' . $title . '</h1>';
}Символы <, >, &, одинарные и двойные кавычки преобразуются в HTML-сущности.
Если параметр отсутствует, метод возвращает null.
Метод не проверяет назначение и формат значения. Числовые параметры нужно дополнительно приводить к нужному типу:
$page = (int) QueryPost::getValue('page');Все обработанные значения
getPostArray(): array
Возвращает все параметры POST-запроса с экранированными HTML-символами:
$values = QueryPost::getPostArray();
$title = $values['title'] ?? '';
$content = $values['content'] ?? '';Если POST-запрос не содержит параметров, метод возвращает пустой массив.
Метод предназначен для плоского набора строковых значений. Если форма передаёт массивы, используйте getOriginalPostArray() и обрабатывайте каждый элемент отдельно.
Исходные значения
getOriginalValue($key): mixed
Возвращает значение параметра без обработки:
if (QueryPost::isset('content')) {
$content = QueryPost::getOriginalValue('content');
}Если вызвать метод для отсутствующего параметра, PHP сформирует предупреждение о неизвестном ключе. Поэтому сначала используйте isset().
getOriginalPostArray(): array
Возвращает исходный массив POST-запроса:
$values = QueryPost::getOriginalPostArray();Значения возвращаются без экранирования и дополнительной проверки.
Параметры-массивы
Для параметров, переданных как массив, используйте исходное значение и проверяйте его тип:
$categories = [];
if (QueryPost::isset('categories')) {
$value = QueryPost::getOriginalValue('categories');
$categories = is_array($value) ? $value : [];
}Каждый элемент массива нужно проверять и обрабатывать отдельно.
Важные замечания
- класс используется статически
getValue()возвращаетnull, если параметр отсутствуетgetValue()экранирует HTML-символы, но не проверяет формат значенияgetValue()иgetPostArray()предназначены для строковых параметров- методы с
Originalв названии возвращают данные без обработки - перед вызовом
getOriginalValue()проверяйте параметр черезisset() - все данные POST-запроса считаются пользовательским вводом и требуют проверки в зависимости от назначения