Класс ServerRequest
Класс, который помогает обернуть информацию о запросе и особенности одного запроса. Предоставляет методы, обычно используемые для интроспекции заголовков запроса и тела запроса.
Краткое описание свойств
- $_detectorCache protected
arrayКэш экземпляров для результатов вызовов is(что-то)
- $_detectors protected static
(array|callable)[]Встроенные детекторы, используемые с
is(), могут быть изменены с помощьюaddDetector(). - $_environment protected
arrayМассив данных среды.
- $attributes protected
arrayХранит дополнительные атрибуты, прикрепленные к запросу.
- $base protected
stringБазовый путь URL.
- $cookies protected
arrayМассив данных cookie.
- $data protected
array|object|nullМассив данных POST. Будет содержать данные формы, а также загруженные файлы. В запросах PUT/PATCH/DELETE в этом свойстве будут содержаться данные, закодированные с помощью form-urlencoded.
- $emulatedAttributes protected
arrayСписок свойств, эмулируемых методами атрибутов 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
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()publicstatic
Добавление нового детектирования в список детекторов, которые может использовать запрос. Существует несколько различных типов детекторов, которые могут быть установлены.
allowMethod()public
Разрешение только определённых HTTP-методов запроса. Если метод запроса не соответствует, будет показана ошибка 405, и будет установлен необходимый ответный заголовок «Allow».
clearDetectorCache()public
Очистка кэша детекторов экземпляра, используемого функцией is()
clientIp()public
Получение IP-адреса, используемого или указанного клиентом.
contentType()public
Получение типа содержимого, используемого в этом запросе.
domain()public
Получение доменного имени, включая сегменты $tldLength доменной зоны (tld).
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()publicdeprecated
Чтение данных из
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): mixed
Обработчик отсутствующего метода, обрабатывает обертывание методов старого стиля типа isAjax()
Параметры
-
string$name Вызываемый метод
-
array$params Массив параметров для вызова метода
Возвращает
mixedВыбрасывает
BadMethodCallExceptionпри вызове недопустимого метода.
__construct() public
__construct(array $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$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_parseAcceptWithQualifier() protected
_parseAcceptWithQualifier(string $header): array
Разбор заголовков Accept* с опциями квалификатора.
Извлекаются только квалификаторы, любые другие расширения accept будут отброшены, так как они редко используются.
Параметры
-
string$header Заголовок для разбора.
Возвращает
array_setConfig() protected
_setConfig(array $config): void
Обработка данных конфигурации/настроек в свойства.
Параметры
-
array$config Данные конфигурации для использования.
Возвращает
voidacceptLanguage() public
acceptLanguage(string|null $language = null): array|bool
Получить языки, принятые клиентом, или проверить, принимается ли определенный язык.
Получить список принятых языков:
\Cake\Http\ServerRequest::acceptLanguage();
Проверить, принимается ли определенный язык:
\Cake\Http\ServerRequest::acceptLanguage('es-es');
Параметры
-
string|null$language optional Язык для проверки.
Возвращает
array|boolaccepts() public
accepts(string|null $type = null): array|bool
Определить, какие типы контента принимает клиент, или проверить, принимает ли он определенный тип контента.
Получить все типы:
$this->request->accepts();
Проверка на наличие одного типа:
$this->request->accepts('application/json'); Этот метод будет упорядочивать возвращаемые типы контента по значениям приоритета, указанным клиентом.
Параметры
-
string|null$type optional Тип контента для проверки. Оставьте null, чтобы получить все типы, которые принимает клиент.
Возвращает
array|booladdDetector() public static
addDetector(string $name, callable|array $callable): 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$callable Вызываемый объект или массив опций для определения детектора.
Возвращает
voidallowMethod() public
allowMethod(string|array $methods): true
Разрешить только определенные методы HTTP-запроса, если метод запроса не соответствует, будет показана ошибка 405, и будет установлен необходимый заголовок ответа «Allow».
Пример:
$this->request->allowMethod('post'); или $this->request->allowMethod(['post', 'delete']);
Если запрос будет GET, в заголовок ответа будет установлено «Allow: POST, DELETE», и будет возвращена ошибка 405.
Параметры
-
string|array$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 сегментов доменной зоны.
Параметры
-
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, string|array|null $default = null): string|array|null
Прочитать данные cookie из данных cookie запроса.
Параметры
-
string$key Ключ или путь с точками, который вы хотите прочитать.
-
string|array|null$default необязательно Значение по умолчанию, если cookie не установлен.
Возвращает
string|array|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): string[]
Получить один заголовок из запроса.
Возвращает значение заголовка как массив. Если заголовок отсутствует, возвращается пустой массив.
Параметры
-
string$name Заголовок, который нужно получить (регистронезависимо)
Возвращает
string[]Ссылки
getHeaderLine() public
getHeaderLine(string $name): string
Получить один заголовок в виде строки из запроса.
Этот метод возвращает все значения заголовков заданного имени заголовка без учета регистра в виде строки, конкатенированной вместе с помощью запятой.
ПРИМЕЧАНИЕ: не все значения заголовков могут быть адекватно представлены с помощью конкатенации запятыми. Для таких заголовков используйте getHeader() вместо этого и предоставьте свой собственный разделитель при конкатенации.
Если заголовок не отображается в сообщении, этот метод ДОЛЖЕН вернуть пустую строку.
Параметры
-
string$name Заголовок, который нужно получить (регистронезависимо)
Возвращает
stringСсылки
getHeaders() public
getHeaders(): string[][]
Получить все заголовки в запросе.
Возвращает ассоциативный массив, где имена заголовков являются ключами, а значениями — список значений заголовков.
Хотя имена заголовков не чувствительны к регистру, getHeaders() нормализует заголовки.
Возвращает
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(): array|object|null
Получить данные тела запроса, обработанные в виде массива.
Если тип контента запроса — application/x-www-form-urlencoded или multipart/form-data, а метод запроса — POST, это будут данные POST. Для других типов контента это может быть десериализованное тело запроса.
Возвращает
array|object|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(): string[]
Получить доверенные прокси-серверы
Возвращает
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(string|string[] $type, mixed ...$args): bool
Проверить, является ли запрос определенного типа.
Использует встроенные правила определения, а также дополнительные правила, определенные с помощью Cake\Http\ServerRequest::addDetector(). Любой детектор может быть вызван как is($type) или is$Type().
Параметры
-
string|string[]$type Тип запроса, который вы хотите проверить. Если массив, этот метод вернет true, если запрос соответствует любому типу.
-
mixed...$args Список аргументов
Возвращает
boolisAll() public
isAll(string[] $types): bool
Проверить, соответствует ли запрос всем заданным типам.
Позволяет проверить несколько типов и объединить результаты. См. Request::is() для добавления дополнительных типов и встроенных типов.
Параметры
-
string[]$types Типы для проверки.
Возвращает
boolСм. также
normalizeHeaderName() protected
normalizeHeaderName(string $name): string
Нормализовать имя заголовка до версии SERVER.
Параметры
-
string$name Имя заголовка.
Возвращает
stringparseAccept() public
parseAccept(): array
Разбирать заголовок HTTP_ACCEPT и возвращать отсортированный массив с типами содержимого в качестве ключей и значениями в качестве преференций.
В общем случае вы хотите использовать Cake\Http\ServerRequest::accept() для получения простого списка принятых типов содержимого.
Возвращает
arrayport() public
port(): string|null
Получить порт, на котором был обработан запрос.
Возвращает
string|nullprocessUrlOption() protected
processUrlOption(array $config): array
Установить переменные среды на основе опции url для облегчения создания экземпляра UriInterface.
Опция query также обновляется на основе строки запроса URL.
Параметры
-
array$config Конфигурационный массив.
Возвращает
arrayreferer() public
referer(bool $local = true): string|null
Возвращает referer, который направил этот запрос.
Параметры
-
bool$local необязательно Попытка вернуть локальный адрес. Локальные адреса не содержат имена хостов.
Возвращает
string|nullscheme() public
scheme(): string|null
Получить текущую схему URL, используемую для запроса.
Например, 'http' или 'https'
Возвращает
string|nullsetTrustedProxies() public
setTrustedProxies(string[] $proxies): void
зарегистрировать доверенные прокси
Параметры
-
string[]$proxies список IP-адресов доверенных прокси
Возвращает
voidsubdomains() public
subdomains(int $tldLength = 1): string[]
Получить доменные имена поддоменов для хоста.
Параметры
-
int$tldLength необязательно Количество сегментов, содержащихся в вашем TLD. Например:
example.comсодержит 1 TLD. В то время какexample.co.ukсодержит 2.
Возвращает
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
Обновить данные строки запроса и получить новый экземпляр.
Эти значения ДОЛЖНЫ оставаться неизменными в течение запроса. Их можно внедрить во время создания экземпляра, например, из суперглобальной переменной PHP $_GET, или вывести из какого-либо другого значения, например, из 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)[]$_environment protected
Массив данных среды.
Тип
array$attributes protected
Хранит дополнительные атрибуты, прикрепленные к запросу.
Тип
array$base protected
Базовый URL-путь.
Тип
string$cookies protected
Массив данных cookie.
Тип
array$data protected
Массив данных POST. Будет содержать данные формы, а также загруженные файлы. В запросах PUT/PATCH/DELETE это свойство будет содержать данные в формате form-urlencoded.
Тип
array|object|null$emulatedAttributes protected
Список свойств, эмулируемых методами атрибутов PSR7.
Тип
array$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
Список доверенных прокси.
Тип
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.2/class-Cake.Http.ServerRequest.html