Класс ServerRequest
Класс, который помогает обернуть информацию о запросе и подробности об одном запросе. Предоставляет методы, обычно используемые для интроспекции заголовков запроса и тела запроса.
Краткое описание свойств
- $_detectorCache protected
arrayКэш экземпляров для результатов вызовов is(что-то)
- $_detectors protected static
array<callable|array>Встроенные детекторы, используемые с
is(), могут быть изменены с помощьюaddDetector(). - $_environment protected
arrayМассив данных среды.
- $attributes protected
arrayХранит дополнительные атрибуты, прикреплённые к запросу.
- $base protected
stringБазовый путь URL.
- $cookies protected
arrayМассив данных 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
Определяет, присутствует ли определённый параметр запроса.
-
_parseAcceptWithQualifier() protected
Парсинг заголовков Accept* с опциями квалификатора.
-
_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
Разбирать заголовок 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 необязательно Массив данных запроса для создания запроса.
_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_parseAcceptWithQualifier() protected
_parseAcceptWithQualifier(string $header): array
Парсит заголовки Accept* с параметрами квалификаторов.
Извлекаются только квалификаторы, все другие расширения Accept игнорируются, так как они редко используются.
Параметры
-
string$header Заголовок для парсинга.
Возвращает
array_setConfig() protected
_setConfig(array<string, mixed> $config): void
Обрабатывает данные конфигурации/настроек в свойства.
Параметры
-
array<string, mixed>$config Данные конфигурации для использования.
Возвращает
voidacceptLanguage() public
acceptLanguage(string|null $language = null): array|bool
Получить языки, принятые клиентом, или проверить, принимается ли определенный язык.
Получить список принятых языков:
\Cake\Http\ServerRequest::acceptLanguage();
Проверить, принимается ли определенный язык:
\Cake\Http\ServerRequest::acceptLanguage('es-es');
Параметры
-
string|null$language необязательно Язык для проверки.
Возвращает
array|boolaccepts() public
accepts(string|null $type = null): array<string>|bool
Выяснить, какие типы содержимого принимает клиент, или проверить, принимает ли он определенный тип содержимого.
Получить все типы:
$this->request->accepts();
Проверить один тип:
$this->request->accepts('application/json'); Этот метод отсортирует возвращаемые типы содержимого в соответствии с приоритетами, указанными клиентом.
Параметры
-
string|null$type необязательно Тип содержимого для проверки. Оставьте 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-адрес клиента или IP-адрес, указанный им.
Возвращает
stringcontentType() public
contentType(): string|null
Получить тип контента, используемый в этом запросе.
Возвращает
string|nulldomain() public
domain(int $tldLength = 1): string
Получить имя домена и включить $tldLength сегментов доменной зоны.
Параметры
-
int$tldLength необязательно Количество сегментов, содержащихся в вашей доменной зоне. Например:
example.comсодержит 1 доменную зону. В то время какexample.co.ukсодержит 2.
Возвращает
stringgetAttribute() public
getAttribute(string $name, mixed $default = null): mixed
Прочитать атрибут из запроса или получить значение по умолчанию
Возвращает единственный атрибут извлеченного запроса, как описано в getAttributes(). Если атрибут не был ранее задан, возвращает значение по умолчанию.
Этот метод исключает необходимость метода hasAttribute(), так как он позволяет указать значение по умолчанию, если атрибут не найден.
Параметры
-
string$name Имя атрибута.
-
mixed$default необязательно Значение по умолчанию, если атрибут не задан.
Возвращает
mixedgetAttributes() public
getAttributes(): array
Получить все атрибуты в запросе.
Это будет включать атрибуты params, webroot, base и here, которые предоставляет CakePHP.
Возвращает
arraygetBody() 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
Получить все данные cookie из запроса.
Возвращает cookie, отправленные клиентом серверу.
Данные ДОЛЖНЫ быть совместимы со структурой суперглобальной переменной $_COOKIE.
Возвращает
arraygetData() 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 необязательно Обратная функция декодирования, которая преобразует строковые данные в другое представление. Оставьте пустым, чтобы получить исходные входные данные. Вы также можете передать дополнительные параметры для обратной функции декодирования с помощью аргументов var, см. выше.
-
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
Заменить файлы cookie в запросе теми, которые содержатся в предоставленном CookieCollection.
Параметры
-
Cake\Http\Cookie\CookieCollection$cookies Коллекция файлов cookie
Возвращает
staticwithCookieParams() public
withCookieParams(array $cookies): static
Заменить файлы cookie и получить новый экземпляр запроса.
Данные НЕ ОБЯЗАТЕЛЬНО должны быть взяты из суперглобальной переменной $_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, данные ДОЛЖНЫ соответствовать тому, что вернёт parse_str() в PHP для обработки дублирующихся параметров запроса и вложенных наборов.
Установка аргументов строки запроса НЕ ДОЛЖНА изменять 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$_detectors protected static
Встроенные детекторы, используемые с is(). Их можно изменить с помощью addDetector().
Существует несколько способов указать детектор. Смотрите \Cake\Http\ServerRequest::addDetector() для различных форматов и способов определения детекторов.
Тип
array<callable|array>$_environment protected
Массив данных среды.
Тип
array$attributes protected
Хранит дополнительные атрибуты, прикрепленные к запросу.
Тип
array$base protected
Базовый путь URL.
Тип
string$cookies protected
Массив данных cookie.
Тип
array$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.3/class-Cake.Http.ServerRequest.html