Класс ServerRequest
Класс, который помогает обернуть информацию о запросе и подробности об одном запросе. Предоставляет методы, обычно используемые для интроспекции заголовков запроса и тела запроса.
Краткое описание свойств
- $_detectorCache protected
array<string, bool>Кэш экземпляров для результатов вызовов is(что-то)
- $_detectors protected static
array<callable|array>Встроенные детекторы, используемые с
is(), могут быть изменены с помощьюaddDetector(). - $_environment protected
array<string, mixed>Массив данных среды.
- $attributes protected
array<string, mixed>Хранит дополнительные атрибуты, прикреплённые к запросу.
- $base protected
stringБазовый путь URL.
- $cookies protected
array<string, mixed>Массив данных cookie.
- $data protected
object|array|nullМассив данных POST. Будет содержать данные формы, а также загруженные файлы. В запросах PUT/PATCH/DELETE это свойство будет содержать данные, закодированные в формате form-urlencoded.
- $emulatedAttributes protected
array<string>Список свойств, эмулируемых методами атрибутов PSR7.
- $flash protected
Cake\Http\FlashMessageЭкземпляр объекта FlashMessage, относящегося к этому запросу.
- $params protected
arrayМассив параметров, разобранных из URL.
- $protocol protected
string|nullИспользуемая версия HTTP-протокола.
- $query protected
arrayМассив аргументов строки запроса.
- $requestTarget protected
string|nullЦелевой адрес запроса, если переопределён.
- $session protected
Cake\Http\SessionЭкземпляр объекта Session, относящегося к этому запросу.
- $stream protected
Psr\Http\Message\StreamInterfaceПоток тела запроса. Содержит php://input, если не используется опция конструктора
input. - $trustProxy public
boolСледует ли доверять заголовкам HTTP_X, установленным большинством балансировщиками нагрузки. Устанавливается в true только в том случае, если ваше приложение работает за балансировщиками/прокси, которые вы контролируете.
- $trustedProxies protected
array<string>Список доверенных прокси.
- $uploadedFiles protected
arrayМассив объектов Psr\Http\Message\UploadedFileInterface.
- $uri protected
Psr\Http\Message\UriInterfaceЭкземпляр Uri.
- $webroot protected
stringСегмент пути webroot для запроса.
Краткое описание методов
-
__call() public
Обработчик отсутствующих методов, обрабатывает обертывание методов старого стиля типа isAjax()
-
__construct() public
Создаёт новый объект запроса.
-
_acceptHeaderDetector() protected
Определяет, присутствует ли определённый заголовок Accept.
-
_environmentDetector() protected
Определяет, присутствует ли определённая переменная среды.
-
_headerDetector() protected
Определяет, присутствует ли определённый заголовок.
-
_is() protected
Вспомогательная функция для общедоступной функции is()
-
_paramDetector() protected
Определяет, присутствует ли определённый параметр запроса.
-
_setConfig() protected
Обрабатывает данные конфигурации/настроек в свойства.
-
acceptLanguage() public
Получает языки, принятые клиентом, или проверяет, принят ли конкретный язык.
-
accepts() public
Определяет, какие типы содержимого принимает клиент, или проверяет, принимает ли он определённый тип содержимого.
-
addDetector() public static
Добавляет новый детектор в список детекторов, которые запрос может использовать. Можно задать несколько различных типов детекторов.
-
allowMethod() public
Разрешает только определённые HTTP-методы запроса; если метод запроса не соответствует, будет показана ошибка 405, и будет установлен необходимый заголовок ответа «Allow».
-
clearDetectorCache() public
Очищает кэш детекторов экземпляра, используемый функцией is()
-
clientIp() public
Получает IP-адрес клиента или адрес, который он указывает.
-
contentType() public
Получает тип содержимого, используемый в этом запросе.
-
domain() public
Получает доменное имя и включает в себя сегменты $tldLength доменной зоны.
-
getAttribute() public
Считывает атрибут из запроса или получает значение по умолчанию.
-
getAttributes() public
Получает все атрибуты в запросе.
-
getBody() public
Получает тело сообщения.
-
getCookie() public
Считывает данные cookie из данных cookie запроса.
-
getCookieCollection() public
Получает коллекцию cookie на основе cookie запроса.
-
getCookieParams() public
Получает все данные cookie из запроса.
-
getData() public
Обеспечивает безопасный доступ к данным запроса. Позволяет использовать пути, совместимые с Hash::get().
-
getEnv() public
Получает значение из данных среды запроса. Использует env(), если ключ не задан в свойстве $environment.
-
getFlash() public
Возвращает экземпляр объекта FlashMessage для этого запроса
-
getHeader() public
Получает один заголовок из запроса.
-
getHeaderLine() public
Получает один заголовок в виде строки из запроса.
-
getHeaders() public
Получает все заголовки в запросе.
-
getMethod() public
Получает HTTP-метод, используемый для этого запроса. Есть несколько способов указать метод.
-
getParam() public
Безопасно получает значения из $this->params.
-
getParsedBody() public
Получает разобранные данные тела запроса.
-
getPath() public
Получает путь текущего запроса.
-
getProtocolVersion() public
Возвращает версию HTTP-протокола в виде строки.
-
getQuery() public
Считывает конкретное значение запроса или путь с точками.
-
getQueryParams() public
Получает все параметры запроса в соответствии со спецификациями PSR-7. Для считывания конкретных значений параметров запроса используйте альтернативный метод getQuery().
-
getRequestTarget() public
Возвращает целевой адрес запроса.
-
getServerParams() public
Получает все параметры среды сервера.
-
getSession() public
Возвращает экземпляр объекта Session для этого запроса
-
getTrustedProxies() public
Получает доверенные прокси-сервера
-
getUploadedFile() public
Получает загруженный файл по пути с точками.
-
getUploadedFiles() public
Получает массив загруженных файлов из запроса.
-
getUri() public
Возвращает экземпляр URI.
-
hasHeader() public
Проверяет, установлен ли заголовок в запросе.
-
host() public
Получает хост, на котором был обработан запрос.
-
input() public deprecated
Считывает данные из
php://input. Полезно при работе с XML или JSON-данными тела запроса. -
is() public
Проверяет, является ли запрос определённого типа.
-
isAll() public
Проверяет, соответствует ли запрос всем заданным типам.
-
normalizeHeaderName() protected
Нормализует имя заголовка в соответствии с версией SERVER.
-
parseAccept() public deprecated
Обработать заголовок HTTP_ACCEPT и вернуть отсортированный массив, где ключи — типы контента, а значения — значения pref.
-
port() public
Получить порт, на котором обрабатывался запрос.
-
processUrlOption() protected
Установить переменные окружения на основе параметра
url, чтобы облегчить генерацию экземпляра UriInterface. -
referer() public
Возвращает referer, который направил этот запрос.
-
scheme() public
Получить текущий схему URL, используемую для запроса.
-
setTrustedProxies() public
Зарегистрировать доверенные прокси-серверы.
-
subdomains() public
Получить поддомены для хоста.
-
validateUploadedFiles() protected
Рекурсивно проверить данные загруженных файлов.
-
withAddedHeader() public
Получить изменённый запрос с предоставленным заголовком.
-
withAttribute() public
Возвратить экземпляр с указанным атрибутом запроса.
-
withBody() public
Возвратить экземпляр со заданным телом сообщения.
-
withCookieCollection() public
Заменить куки в запросе теми, которые содержатся в предоставленном CookieCollection.
-
withCookieParams() public
Заменить куки и получить новый экземпляр запроса.
-
withData() public
Обновить запрос с новым элементом данных запроса.
-
withEnv() public
Обновить запрос с новым элементом данных среды.
-
withHeader() public
Получить изменённый запрос с предоставленным заголовком.
-
withMethod() public
Обновить метод запроса и получить новый экземпляр.
-
withParam() public
Обновить запрос с новым параметром маршрутизации.
-
withParsedBody() public
Обновить парсированное тело и получить новый экземпляр.
-
withProtocolVersion() public
Возвратить экземпляр с указанной версией HTTP-протокола.
-
withQueryParams() public
Обновить данные строки запроса и получить новый экземпляр.
-
withRequestTarget() public
Создать новый экземпляр со специфичным целевым объектом запроса.
-
withUploadedFiles() public
Обновить запрос, заменив файлы, и создав новый экземпляр.
-
withUri() public
Возвратить экземпляр со заданным URI.
-
withoutAttribute() public
Возвратить экземпляр без указанного атрибута запроса.
-
withoutData() public
Обновить запрос, удалив элемент данных.
-
withoutHeader() public
Получить изменённый запрос без указанного заголовка.
Подробное описание методов
__call() public
__call(string $name, array $params): bool
Обработчик отсутствующего метода, обрабатывает методы старого стиля типа isAjax()
Параметры
-
string$name Вызываемый метод
-
array$params Массив параметров для вызова метода
Возвращает
boolИсключения
BadMethodCallExceptionпри вызове недопустимого метода.
__construct() public
__construct(array<string, mixed> $config = [])
Создает новый объект запроса.
Вы можете предоставить данные как массив, так и строку. Если вы используете строку, вы можете указать только URL запроса. Использование массива позволит вам предоставить следующие ключи:
-
postДанные POST или данные, не являющиеся строкой запроса -
queryДополнительные данные из строки запроса. -
filesЗагруженные файлы в нормализованной структуре, где каждый лист — экземпляр UploadedFileInterface. -
cookiesКуки для этого запроса. -
environmentДанные $_SERVER и $_ENV. -
urlURL без базового пути для запроса. -
uriОбъект PSR7 UriInterface. Если null, он будет создан изurlилиenvironment. -
baseБазовый URL запроса. -
webrootДиректория webroot для запроса. -
inputДанные, которые бы пришли из php://input, это полезно для моделирования запросов с данными put, patch или delete. -
sessionЭкземпляр объекта Session
Параметры
-
array<string, mixed>$config optional Массив данных запроса для создания запроса.
_acceptHeaderDetector() protected
_acceptHeaderDetector(array $detect): bool
Определяет наличие определенного заголовка Accept.
Параметры
-
array$detect Массив параметров детектора.
Возвращает
bool_environmentDetector() protected
_environmentDetector(array $detect): bool
Определяет наличие определенной переменной окружения.
Параметры
-
array$detect Массив параметров детектора.
Возвращает
bool_headerDetector() protected
_headerDetector(array $detect): bool
Определяет наличие определенного заголовка.
Параметры
-
array$detect Массив параметров детектора.
Возвращает
bool_is() protected
_is(string $type, array $args): bool
Вспомогательная функция для public функции is()
Параметры
-
string$type Тип запроса, который нужно проверить.
-
array$args Массив пользовательских аргументов детектора.
Возвращает
bool_paramDetector() protected
_paramDetector(array $detect): bool
Определяет наличие определенного параметра запроса.
Параметры
-
array$detect Массив параметров детектора.
Возвращает
bool_setConfig() protected
_setConfig(array<string, mixed> $config): void
Обрабатывает данные конфигурации/настроек в свойства.
Параметры
-
array<string, mixed>$config Данные конфигурации для использования.
Возвращает
voidacceptLanguage() public
acceptLanguage(string|null $language = null): array|bool
Получить языки, принимаемые клиентом, или проверить, принимается ли конкретный язык.
Получить список принятых языков:
$request->acceptLanguage();
Проверить, принимается ли конкретный язык:
$request->acceptLanguage('es-es');
Параметры
-
string|null$language optional Язык для проверки.
Возвращает
array|boolaccepts() public
accepts(string|null $type = null): array<string>|bool
Определить, какие типы содержимого принимает клиент, или проверить, принимает ли он определенный тип содержимого.
Получить все типы:
$this->request->accepts();
Проверка на один тип:
$this->request->accepts('application/json'); Этот метод отсортирует возвращаемые типы содержимого по значениям предпочтений, указанным клиентом.
Параметры
-
string|null$type optional Тип содержимого для проверки. Оставьте null, чтобы получить все типы, которые принимает клиент.
Возвращает
array<string>|booladdDetector() public static
addDetector(string $name, callable|array $detector): void
Добавить новый детектор в список детекторов, которые может использовать запрос. Существует несколько различных типов детекторов, которые могут быть установлены.
Сравнение по обратной функции
Детекторы по обратной функции позволяют предоставить вызываемый объект для обработки проверки. Обратная функция получит объект запроса как единственный параметр.
addDetector('custom', function ($request) { //Return a boolean }); Сравнение по значению переменной окружения
Сравнение по значению переменной окружения сравнивает значение, полученное из env() с известным значением. Значение переменной окружения сравнивается на равенство с предоставленным значением.
addDetector('post', ['env' => 'REQUEST_METHOD', 'value' => 'POST']); Сравнение по параметрам запроса
Позволяет создавать пользовательских детекторов для параметров запроса.
addDetector('admin', ['param' => 'prefix', 'value' => 'admin']); Сравнение Accept
Позволяет детектору сравнивать значение заголовка Accept.
addDetector('csv', ['accept' => 'text/csv']); Сравнение заголовков
Позволяет сравнивать один или несколько заголовков.
addDetector('fancy', ['header' => ['X-Fancy' => 1]); Типы сравнения param, env и сравнения позволяют использовать следующие варианты сравнения значений:
Сравнение по значению шаблона
Сравнение по значению шаблона позволяет сравнить значение, полученное из env() с регулярным выражением.
addDetector('iphone', ['env' => 'HTTP_USER_AGENT', 'pattern' => '/iPhone/i']); Сравнение на основе параметров
Сравнения на основе параметров используют список параметров для создания регулярного выражения. Последующие вызовы добавления уже определенного детектора параметров объединят параметры.
addDetector('mobile', ['env' => 'HTTP_USER_AGENT', 'options' => ['Fennec']]); Вы также можете сравнивать по нескольким значениям, используя ключ options. Это полезно, когда нужно проверить, находится ли значение запроса в списке параметров.
addDetector('extension', ['param' => '_ext', 'options' => ['pdf', 'csv']]
Параметры
-
string$name Имя детектора.
-
callable|array$detector Вызываемый объект или массив параметров для определения детектора.
Возвращает
voidallowMethod() public
allowMethod(array<string>|string $methods): true
Разрешить только определенные методы HTTP-запроса. Если метод запроса не совпадает, будет отображаться ошибка 405, и будет задан необходимый заголовок ответа «Allow».
Пример:
$this->request->allowMethod('post'); или $this->request->allowMethod(['post', 'delete']);
Если запрос был бы GET, в заголовке ответа будет установлено «Allow: POST, DELETE», и будет возвращена ошибка 405.
Параметры
-
array<string>|string$methods Разрешённые методы HTTP-запроса.
Возвращает
trueИсключения
Cake\Http\Exception\MethodNotAllowedExceptionclearDetectorCache() public
clearDetectorCache(): void
Очищает кэш детектора экземпляра, используемый функцией is()
Возвращает
voidclientIp() public
clientIp(): string
Получить IP-адрес клиента или то, что он указывает.
Возвращает
stringcontentType() public
contentType(): string|null
Получить тип содержимого, используемый в этом запросе.
Возвращает
string|nulldomain() public
domain(int $tldLength = 1): string
Получить доменное имя и включить $tldLength сегментов tld.
Параметры
-
int$tldLength необязательный Количество сегментов, содержащихся в вашем tld. Например:
example.comсодержит 1 tld. В то время какexample.co.ukсодержит 2.
Возвращает
stringgetAttribute() public
getAttribute(string $name, mixed $default = null): mixed
Прочитать атрибут из запроса или получить значение по умолчанию
Извлекает один производный атрибут запроса, как описано в getAttributes(). Если атрибут не был ранее задан, возвращается значение по умолчанию, предоставленное в качестве параметра.
Этот метод исключает необходимость метода hasAttribute(), так как он позволяет указать значение по умолчанию для возврата, если атрибут не найден.
Параметры
-
string$name Имя атрибута.
-
mixed$default необязательный Значение по умолчанию, если атрибут не задан.
Возвращает
mixedgetAttributes() public
getAttributes(): array<string, mixed>
Получить все атрибуты в запросе.
Это будет включать атрибуты params, webroot, base и here, предоставляемые CakePHP.
Возвращает
array<string, mixed>getBody() public
getBody(): Psr\Http\Message\StreamInterface
Получить тело сообщения.
Возвращает
Psr\Http\Message\StreamInterfacegetCookie() public
getCookie(string $key, array|string|null $default = null): array|string|null
Прочитать данные cookie из данных cookie запроса.
Параметры
-
string$key Ключ или путь с точками, который вы хотите прочитать.
-
array|string|null$default необязательный Значение по умолчанию, если cookie не задано.
Возвращает
array|string|nullgetCookieCollection() public
getCookieCollection(): Cake\Http\Cookie\CookieCollection
Получить коллекцию cookie на основе cookie запроса
CookieCollection позволяет взаимодействовать с cookie запроса с использованием объектов \Cake\Http\Cookie\Cookie и может упростить преобразование cookie запроса в cookie ответа.
Этот метод будет создавать новую коллекцию cookie каждый раз при вызове. Это оптимизация, которая позволяет выделять меньше объектов, пока не потребуется более сложная CookieCollection. В целом, вы должны предпочитать getCookie() и getCookieParams() этому методу. Использование CookieCollection идеально подходит, если ваши cookie содержат сложные данные, закодированные в формате JSON.
Возвращает
Cake\Http\Cookie\CookieCollectiongetCookieParams() public
getCookieParams(): array<string, mixed>
Получить все данные cookie из запроса.
Извлекает cookie, отправленные клиентом на сервер.
Данные ДОЛЖНЫ быть совместимы со структурой суперглобальной переменной $_COOKIE.
Возвращает
array<string, mixed>getData() public
getData(string|null $name = null, mixed $default = null): mixed
Обеспечивает безопасный доступ к данным запроса. Позволяет использовать пути, совместимые с Hash::get().
Чтение значений.
// get all data
$request->getData();
// Read a specific field.
$request->getData('Post.title');
// With a default value.
$request->getData('Post.not there', 'default value'); При чтении значений вы получите null для ключей/значений, которые не существуют.
Разработчикам рекомендуется использовать getParsedBody(), если им нужен весь массив данных, так как он совместим с PSR-7, а этот метод нет. Используя Hash::get(), вы также можете получить отдельные параметры.
Альтернатива PSR-7
$value = Hash::get($request->getParsedBody(), 'Post.id');
Параметры
-
string|null$name необязательный Имя значения с разделением точками, которое нужно прочитать. Или null для чтения всех данных.
-
mixed$default необязательный Данные по умолчанию.
Возвращает
mixedgetEnv() public
getEnv(string $key, string|null $default = null): string|null
Получить значение из данных среды запроса. Использует env(), если ключ не установлен в свойстве $environment.
Параметры
-
string$key Ключ, который вы хотите прочитать.
-
string|null$default необязательный Значение по умолчанию при попытке извлечения значения переменной среды, которое не существует.
Возвращает
string|nullgetFlash() public
getFlash(): Cake\Http\FlashMessage
Возвращает экземпляр объекта FlashMessage для этого запроса
Возвращает
Cake\Http\FlashMessagegetHeader() public
getHeader(string $name): array<string>
Получить один заголовок из запроса.
Возвращает значение заголовка в виде массива. Если заголовок отсутствует, возвращается пустой массив.
Параметры
-
string$name Заголовок, который вы хотите получить (независимо от регистра)
Возвращает
array<string>Ссылки
getHeaderLine() public
getHeaderLine(string $name): string
Получить один заголовок в виде строки из запроса.
Этот метод возвращает все значения заголовка заданного имени заголовка (независимо от регистра) в виде строки, соединенные вместе запятыми.
ПРИМЕЧАНИЕ: не все значения заголовков могут быть корректно представлены с помощью конкатенации запятыми. Для таких заголовков используйте getHeader() вместо этого и предоставьте собственный разделитель при конкатенации.
Если заголовок не найден в сообщении, этот метод ДОЛЖЕН вернуть пустую строку.
Параметры
-
string$name Заголовок, который вы хотите получить (независимо от регистра)
Возвращает
stringСсылки
getHeaders() public
getHeaders(): array<string[]>
Получить все заголовки в запросе.
Возвращает ассоциативный массив, где имена заголовков являются ключами, а значениями является список значений заголовков.
Хотя имена заголовков не чувствительны к регистру, getHeaders() будет нормализовать заголовки.
Возвращает
array<string[]>Ссылки
getMethod() public
getMethod(): string
Получить HTTP-метод, используемый для этого запроса. Есть несколько способов указать метод.
- Если ваш клиент поддерживает, вы можете использовать собственные HTTP-методы.
- Вы можете установить заголовок HTTP-X-Method-Override.
- Вы можете отправить входные данные с именем
_method
Любой из этих 3 подходов может использоваться для установки HTTP-метода, используемого CakePHP внутри, и повлияет на результат этого метода.
Возвращает
stringСсылки
getParam() public
getParam(string $name, mixed $default = null): mixed
Безопасный доступ к значениям в $this->params.
Параметры
-
string$name Имя или путь с точками к параметру.
-
mixed$default необязательный Значение по умолчанию, если
$nameне задано. Значение по умолчаниюnull.
Возвращает
mixedgetParsedBody() public
getParsedBody(): object|array|null
Получить данные обработанного тела запроса.
Если тип содержимого запроса — application/x-www-form-urlencoded или multipart/form-data, а метод запроса — POST, это будут данные POST. Для других типов содержимого это может быть десериализованное тело запроса.
Возвращает
object|array|nullgetPath() public
getPath(): string
Получить путь текущего запроса.
Возвращает
stringgetProtocolVersion() public
getProtocolVersion(): string
Возвращает версию протокола HTTP в виде строки.
Строка ДОЛЖНА содержать только номер версии HTTP (например, "1.1", "1.0").
Возвращает
stringgetQuery() public
getQuery(string|null $name = null, mixed $default = null): array|string|null
Чтение определённого значения запроса или пути с точками.
Разработчикам рекомендуется использовать getQueryParams(), если им нужен весь массив запроса, так как он соответствует PSR-7, а этот метод — нет. Используя Hash::get(), вы также можете получить отдельные параметры.
Альтернатива PSR-7
$value = Hash::get($request->getQueryParams(), 'Post.id');
Параметры
-
string|null$name необязательный Имя или путь с точками до параметра запроса или null для чтения всех.
-
mixed$default необязательный Значение по умолчанию, если указанный параметр не задан, и $name не null.
Возвращает
array|string|nullСм. также
getQueryParams() public
getQueryParams(): array
Получение всех параметров запроса в соответствии со спецификациями PSR-7. Для чтения определённых значений запроса используйте альтернативный метод getQuery().
Возвращает десериализованные аргументы строки запроса, если таковые имеются.
Примечание: параметры запроса могут не синхронизироваться с параметрами URI или сервера. Если вам нужно гарантировать, что вы получаете только исходные значения, возможно, вам потребуется разобрать строку запроса из getUri()->getQuery() или из параметра сервера QUERY_STRING.
Возвращает
arrayСсылки
getRequestTarget() public
getRequestTarget(): string
Возвращает целевой объект запроса.
Возвращает целевой объект запроса сообщения, либо как он был запрошен, либо как он был задан с помощью withRequestTarget(). По умолчанию возвращает относительный путь приложения без базового каталога и строку запроса, определённую в переменной среды SERVER.
Возвращает
stringgetServerParams() public
getServerParams(): array
Получение всех параметров среды сервера.
Чтение всех данных «среды» или «сервера», которые были использованы для создания этого запроса.
Возвращает
arrayСсылки
getSession() public
getSession(): Cake\Http\Session
Возвращает экземпляр объекта Session для этого запроса
Возвращает
Cake\Http\SessiongetTrustedProxies() public
getTrustedProxies(): array<string>
Получение доверенных прокси
Возвращает
array<string>getUploadedFile() public
getUploadedFile(string $path): Psr\Http\Message\UploadedFileInterface|null
Получение загруженного файла по пути с точками.
Параметры
-
string$path Путь с точками до файла, который вы хотите получить.
Возвращает
Psr\Http\Message\UploadedFileInterface|nullgetUploadedFiles() public
getUploadedFiles(): array
Получение массива загруженных файлов из запроса.
Этот метод возвращает метаданные загрузки в нормализованном дереве, где каждый лист — экземпляр Psr\Http\Message\UploadedFileInterface.
Эти значения МОГУТ быть подготовлены из $_FILES или тела сообщения во время инициализации, или МОГУТ быть введены с помощью withUploadedFiles().
Возвращает
arraygetUri() public
getUri(): Psr\Http\Message\UriInterface
Возвращает экземпляр URI.
Этот метод ДОЛЖЕН возвращать экземпляр UriInterface.
Возвращает
Psr\Http\Message\UriInterfacehasHeader() public
hasHeader(string $name): bool
Проверка наличия заголовка в запросе.
Параметры
-
string$name Заголовок, который нужно получить (регистронезависимый)
Возвращает
boolСсылки
host() public
host(): string|null
Получение хоста, на котором обрабатывался запрос.
Возвращает
string|nullinput() public
input(callable|null $callback = null, mixed ...$args): mixed
Чтение данных из php://input. Полезно при работе с XML или JSON-содержимым тела запроса.
Получение входных данных с функцией декодирования:
$this->request->input('json_decode'); Получение входных данных с помощью функции декодирования и дополнительных параметров:
$this->request->input('Xml::build', ['return' => 'DOMDocument']); Все дополнительные параметры применяются к обратной функции в том порядке, в котором они предоставлены.
Параметры
-
callable|null$callback необязательный Функция обратного вызова декодирования, которая преобразует строковые данные в другое представление. Оставьте пустой для доступа к исходным входным данным. Вы также можете предоставить дополнительные параметры для функции обратного вызова декодирования, см. выше.
-
mixed...$args Дополнительные аргументы
Возвращает
mixedis() public
is(array<string>|string $type, mixed ...$args): bool
Проверка соответствия запроса определённому типу.
Использует встроенные правила определения, а также дополнительные правила, определённые с помощью {@link \Cake\Http\ServerRequest::addDetector()}. Любой детектор можно вызвать как is($type) или is$Type().
Параметры
-
array<string>|string$type Тип запроса, который нужно проверить. Если массив, этот метод вернёт true, если запрос соответствует любому типу.
-
mixed...$args Список аргументов
Возвращает
boolisAll() public
isAll(array<string> $types): bool
Проверка соответствия запроса всем указанным типам.
Позволяет проверить несколько типов и объединить результаты. См. Request::is() для получения информации о том, как добавить дополнительные типы и встроенные типы.
Параметры
-
array<string>$types Типы для проверки.
Возвращает
boolСм. также
normalizeHeaderName() protected
normalizeHeaderName(string $name): string
Нормализация имени заголовка до версии SERVER.
Параметры
-
string$name Имя заголовка.
Возвращает
stringparseAccept() public
parseAccept(): array
Обработка заголовка HTTP_ACCEPT и возвращение отсортированного массива с типами содержимого в качестве ключей и значениями предпочтений.
В общем случае для получения простого списка поддерживаемых типов содержимого следует использовать {@link \Cake\Http\ServerRequest::accepts()}.
Возвращает
arrayport() public
port(): string|null
Получение порта, на котором обрабатывался запрос.
Возвращает
string|nullprocessUrlOption() protected
processUrlOption(array<string, mixed> $config): array<string, mixed>
Установка переменных среды на основе параметра url для облегчения генерации экземпляра UriInterface.
Параметр query также обновляется на основе строки запроса URL.
Параметры
-
array<string, mixed>$config Массив конфигурации.
Возвращает
array<string, mixed>referer() public
referer(bool $local = true): string|null
Возвращает referer, который направил этот запрос.
Параметры
-
bool$local необязательно Попытка вернуть локальный адрес. Локальные адреса не содержат хостнеймов.
Возвращает
string|nullscheme() public
scheme(): string|null
Получить текущую схему URL, используемую для запроса.
Например, 'http' или 'https'
Возвращает
string|nullsetTrustedProxies() public
setTrustedProxies(array<string> $proxies): void
регистрация доверенных прокси
Параметры
-
array<string>$proxies список IP-адресов доверенных прокси
Возвращает
voidsubdomains() public
subdomains(int $tldLength = 1): array<string>
Получить поддомены для хоста.
Параметры
-
int$tldLength необязательно Количество сегментов, содержащихся в вашем TLD. Например:
example.comсодержит 1 TLD. В то время какexample.co.ukсодержит 2.
Возвращает
array<string>validateUploadedFiles() protected
validateUploadedFiles(array $uploadedFiles, string $path): void
Рекурсивное валидирование данных загруженных файлов.
Параметры
-
array$uploadedFiles Новый массив файлов для валидации.
-
string$path Путь до текущего момента.
Возвращает
voidИсключения
InvalidArgumentExceptionЕсли какие-либо листья не являются действительными файлами.
withAddedHeader() public
withAddedHeader(string $name, string|string[] $value): static
Получить изменённый запрос с предоставленным заголовком.
Существующие значения заголовков будут сохранены. Предоставленное значение будет добавлены к существующим.
Параметры
-
string$name Имя заголовка.
-
string|string[]$value Значение заголовка
Возвращает
staticСсылки
withAttribute() public
withAttribute(string $name, mixed $value): static
Возвращает экземпляр с указанным атрибутом запроса.
Этот метод позволяет установить один производный атрибут запроса, как описано в getAttributes().
Этот метод ОДНОЗНАЧНО должен быть реализован таким образом, чтобы сохранить неизменяемость сообщения, и ДОЛЖЕН вернуть экземпляр с обновлённым атрибутом.
Параметры
-
string$name Имя атрибута.
-
mixed$value Значение атрибута.
Возвращает
staticwithBody() public
withBody(StreamInterface $body): static
Возвращает экземпляр со указанным телом сообщения.
Тело ДОЛЖНО быть объектом StreamInterface.
Этот метод ДОЛЖЕН быть реализован таким образом, чтобы сохранить неизменяемость сообщения, и ДОЛЖЕН вернуть новый экземпляр с новым потоком тела.
Параметры
-
StreamInterface$body Новое тело запроса
Возвращает
staticwithCookieCollection() public
withCookieCollection(Cake\Http\Cookie\CookieCollection $cookies): static
Заменить куки в запросе на те, которые содержатся в предоставленном CookieCollection.
Параметры
-
Cake\Http\Cookie\CookieCollection$cookies Коллекция куки
Возвращает
staticwithCookieParams() public
withCookieParams(array $cookies): static
Заменить куки и получить новый экземпляр запроса.
Данные НЕ ТРЕБУЮТСЯ для получения из $_COOKIE, но ДОЛЖНЫ быть совместимы со структурой $_COOKIE. Обычно эти данные будут внедрены при создании экземпляра.
Этот метод НЕ ДОЛЖЕН обновлять связанный заголовок Cookie экземпляра запроса, ни связанные значения в параметрах сервера.
Этот метод ДОЛЖЕН быть реализован таким образом, чтобы сохранить неизменяемость сообщения, и ДОЛЖЕН вернуть экземпляр с обновлёнными значениями cookie.
Параметры
-
array$cookies Новые данные cookie для использования.
Возвращает
staticwithData() public
withData(string $name, mixed $value): static
Обновить запрос с новым элементом данных запроса.
Возвращает обновлённый объект запроса. Этот метод возвращает новый объект запроса и не изменяет запрос на месте.
Используйте withParsedBody() если вам нужно заменить все данные запроса.
Параметры
-
string$name Путь с точками для вставки $value.
-
mixed$value Значение для вставки в данные запроса.
Возвращает
staticwithEnv() public
withEnv(string $key, string $value): static
Обновить запрос с новым элементом данных среды.
Возвращает обновлённый объект запроса. Этот метод возвращает новый объект запроса и не изменяет запрос на месте.
Параметры
-
string$key Ключ, который вы хотите записать.
-
string$value Значение для установки
Возвращает
staticwithHeader() public
withHeader(string $name, string|string[] $value): static
Получить изменённый запрос с предоставленным заголовком.
Хотя имена заголовков нечувствительны к регистру, регистр заголовка будет сохранён этой функцией и возвращён из getHeaders().
Этот метод ДОЛЖЕН быть реализован таким образом, чтобы сохранить неизменяемость сообщения, и ДОЛЖЕН вернуть экземпляр с новым и/или обновлённым заголовком и значением.
Параметры
-
string$name Имя заголовка.
-
string|string[]$value Значение заголовка
Возвращает
staticСсылки
withMethod() public
withMethod(string $method): static
Обновить метод запроса и получить новый экземпляр.
Хотя имена HTTP-методов обычно состоят из заглавных букв, имена HTTP-методов чувствительны к регистру, и поэтому реализации НЕ ДОЛЖНЫ изменять переданную строку.
Этот метод ДОЛЖЕН быть реализован таким образом, чтобы сохранить неизменяемость сообщения, и ДОЛЖЕН вернуть экземпляр с изменённым методом запроса.
Параметры
-
string$method HTTP-метод для использования.
Возвращает
staticСсылки
withParam() public
withParam(string $name, mixed $value): static
Обновить запрос с новым параметром маршрута
Возвращает обновлённый объект запроса. Этот метод возвращает новый объект запроса и не изменяет запрос на месте.
Параметры
-
string$name Путь с точками для вставки $value.
-
mixed$value Значение для вставки в параметры запроса.
Возвращает
staticwithParsedBody() public
withParsedBody(null|array|object $data): static
Обновить разобранное тело и получить новый экземпляр.
Эти значения МОГУТ быть внедрены во время создания экземпляра.
Если тип содержимого запроса — application/x-www-form-urlencoded или multipart/form-data, а метод запроса — POST, используйте этот метод ТОЛЬКО для внедрения содержимого $_POST.
Данные НЕ ОБЯЗАТЕЛЬНО должны поступать из $_POST, но ОБЯЗАТЕЛЬНО должны быть результатом десериализации содержимого тела запроса. Десериализация/разбор возвращает структурированные данные, и, следовательно, этот метод ПРИНИМАЕТ только массивы или объекты, или значение null, если ничего не было доступно для разбора.
Например, если согласование типов содержимого определяет, что данные запроса представляют собой JSON-загрузку, этот метод можно использовать для создания экземпляра запроса с десериализованными параметрами.
Этот метод ОБЯЗАТЕЛЬНО должен быть реализован таким образом, чтобы сохранять неизменяемость сообщения, и ОБЯЗАТЕЛЬНО должен возвращать экземпляр с обновлёнными параметрами тела.
Параметры
-
null|array|object$data Данные разобранного тела. Обычно это массив или объект.
Возвращает
staticwithProtocolVersion() public
withProtocolVersion(string $version): static
Возвращает экземпляр со указанной версией HTTP протокола.
Строка версии ДОЛЖНА содержать только номер версии HTTP (например, "1.1", "1.0").
Параметры
-
string$version Версия HTTP протокола
Возвращает
staticwithQueryParams() public
withQueryParams(array $query): static
Обновить данные строки запроса и получить новый экземпляр.
Эти значения ДОЛЖНЫ оставаться неизменными в течение входящего запроса. Они МОГУТ быть внедрены во время создания экземпляра, например, из $_GET суперглобальной переменной PHP, или МОГУТ быть получены из какого-либо другого значения, например, из URI. В случаях, когда аргументы анализируются из URI, данные ДОЛЖНЫ быть совместимы с тем, что вернёт PHP parse_str() с точки зрения обработки дублирующихся параметров запроса и обработки вложенных наборов.
Установка аргументов строки запроса НЕ ДОЛЖНА изменять URI, хранимый в запросе, ни значения в параметрах сервера.
Этот метод ДОЛЖЕН быть реализован таким образом, чтобы сохранять неизменяемость сообщения, и ДОЛЖЕН возвращать экземпляр с обновлёнными аргументами строки запроса.
Параметры
-
array$query Данные строки запроса для использования
Возвращает
staticСсылки
withRequestTarget() public
withRequestTarget(mixed $requestTarget): static
Создать новый экземпляр со специфическим целевым элементом запроса.
Вы можете использовать этот метод для перезаписи целевого элемента запроса, который определяется из Uri запроса. Это также позволяет вам изменить форму целевого элемента запроса на абсолютную форму, форму с указанием авторитета или форму со звёздочкой.
Параметры
-
mixed$requestTarget Целевой элемент запроса.
Возвращает
staticСсылки
withUploadedFiles() public
withUploadedFiles(array $uploadedFiles): static
Обновить запрос, заменив файлы, и создать новый экземпляр.
Этот метод ОБЯЗАТЕЛЬНО должен быть реализован таким образом, чтобы сохранять неизменяемость сообщения, и ОБЯЗАТЕЛЬНО должен возвращать экземпляр с обновлёнными параметрами тела.
Параметры
-
array$uploadedFiles Массив объектов загруженных файлов.
Возвращает
staticИсключения
InvalidArgumentExceptionпри $files содержит невалидный объект.
withUri() public
withUri(UriInterface $uri, bool $preserveHost = false): static
Возвращает экземпляр со указанным uri
Предупреждение Замена Uri не обновит base, webroot, и url атрибуты.
Параметры
-
UriInterface$uri Новый uri запроса
-
bool$preserveHost optional Сохранять ли хост.
Возвращает
staticwithoutAttribute() public
withoutAttribute(string $name): static
Возвращает экземпляр без указанного атрибута запроса.
Этот метод позволяет удалить один производный атрибут запроса, как описано в getAttributes().
Этот метод ОБЯЗАТЕЛЬНО должен быть реализован таким образом, чтобы сохранять неизменяемость сообщения, и ОБЯЗАТЕЛЬНО должен возвращать экземпляр, который удаляет атрибут.
Параметры
-
string$name Имя атрибута.
Возвращает
staticИсключения
InvalidArgumentExceptionwithoutData() public
withoutData(string $name): static
Обновить запрос, удалив элемент данных.
Возвращает обновлённый объект запроса. Этот метод возвращает НОВЫЙ объект запроса и не изменяет объект запроса на месте.
Параметры
-
string$name Путь, разделённый точками, для удаления.
Возвращает
staticwithoutHeader() public
withoutHeader(string $name): static
Получить изменённый запрос без предоставленного заголовка.
Разрешение заголовков ДОЛЖНО выполняться без учёта регистра.
Этот метод ОБЯЗАТЕЛЬНО должен быть реализован таким образом, чтобы сохранять неизменяемость сообщения, и ОБЯЗАТЕЛЬНО должен возвращать экземпляр, который удаляет указанный заголовок.
Параметры
-
string$name Имя заголовка для удаления.
Возвращает
staticСсылки
Подробное описание свойства
$_detectorCache protected
Кэш экземпляров результатов вызовов is(что-то)
Тип
array<string, bool>$_detectors protected static
Встроенные детекторы, используемые с is(). Их можно изменить с помощью addDetector().
Существует несколько способов указать детектор. Обратитесь к \Cake\Http\ServerRequest::addDetector() для различных форматов и способов определения детекторов.
Тип
array<callable|array>$_environment protected
Массив данных среды.
Тип
array<string, mixed>$attributes protected
Хранит дополнительные атрибуты, присоединённые к запросу.
Тип
array<string, mixed>$base protected
Базовый путь URL.
Тип
string$cookies protected
Массив данных cookie.
Тип
array<string, mixed>$data protected
Массив данных POST. Будет содержать данные формы и загруженные файлы. При запросах PUT/PATCH/DELETE это свойство будет содержать данные, закодированные с помощью form-urlencoded.
Тип
object|array|null$emulatedAttributes protected
Список свойств, эмулируемых методами атрибутов PSR7.
Тип
array<string>$flash protected
Экземпляр объекта FlashMessage, относящегося к этому запросу.
Тип
Cake\Http\FlashMessage$params protected
Массив параметров, извлечённых из URL.
Тип
array$protocol protected
Используемая версия HTTP-протокола.
Тип
string|null$query protected
Массив аргументов строки запроса.
Тип
array$requestTarget protected
Целевое значение запроса (если переопределено).
Тип
string|null$session protected
Экземпляр объекта Session, относящегося к этому запросу.
Тип
Cake\Http\Session$stream protected
Поток тела запроса. Содержит php://input, если не используется опция конструктора input.
Тип
Psr\Http\Message\StreamInterface$trustProxy public
Доверять ли заголовкам HTTP_X, установленным большинством балансировщиками нагрузки. Устанавливать в значение true только если ваше приложение работает за балансировщиками/прокси, которыми вы управляете.
Тип
bool$trustedProxies protected
Список доверенных прокси.
Тип
array<string>$uploadedFiles protected
Массив объектов Psr\Http\Message\UploadedFileInterface.
Тип
array$uri protected
Экземпляр Uri.
Тип
Psr\Http\Message\UriInterface$webroot protected
Сегмент пути webroot для запроса.
Тип
string
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.4/class-Cake.Http.ServerRequest.html