Spec-Zone.ru › CakePHP 4.4

Класс ServerRequest

Класс, который помогает обернуть информацию о запросе и подробности об одном запросе. Предоставляет методы, обычно используемые для интроспекции заголовков запроса и тела запроса.

Пространство имён: Cake\Http

Краткое описание свойств

  • $_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.
  • url URL без базового пути для запроса.
  • 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

Данные конфигурации для использования.

Возвращает

void

acceptLanguage() public

acceptLanguage(string|null $language = null): array|bool

Получить языки, принимаемые клиентом, или проверить, принимается ли конкретный язык.

Получить список принятых языков:

$request->acceptLanguage();

Проверить, принимается ли конкретный язык:

$request->acceptLanguage('es-es');

Параметры

string|null $language optional

Язык для проверки.

Возвращает

array|bool

accepts() public

accepts(string|null $type = null): array<string>|bool

Определить, какие типы содержимого принимает клиент, или проверить, принимает ли он определенный тип содержимого.

Получить все типы:

$this->request->accepts();

Проверка на один тип:

$this->request->accepts('application/json');

Этот метод отсортирует возвращаемые типы содержимого по значениям предпочтений, указанным клиентом.

Параметры

string|null $type optional

Тип содержимого для проверки. Оставьте null, чтобы получить все типы, которые принимает клиент.

Возвращает

array<string>|bool

addDetector() 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

Вызываемый объект или массив параметров для определения детектора.

Возвращает

void

allowMethod() 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\MethodNotAllowedException

clearDetectorCache() public

clearDetectorCache(): void

Очищает кэш детектора экземпляра, используемый функцией is()

Возвращает

void

clientIp() public

clientIp(): string

Получить IP-адрес клиента или то, что он указывает.

Возвращает

string

contentType() public

contentType(): string|null

Получить тип содержимого, используемый в этом запросе.

Возвращает

string|null

domain() public

domain(int $tldLength = 1): string

Получить доменное имя и включить $tldLength сегментов tld.

Параметры

int $tldLength необязательный

Количество сегментов, содержащихся в вашем tld. Например: example.com содержит 1 tld. В то время как example.co.uk содержит 2.

Возвращает

string

getAttribute() public

getAttribute(string $name, mixed $default = null): mixed

Прочитать атрибут из запроса или получить значение по умолчанию

Извлекает один производный атрибут запроса, как описано в getAttributes(). Если атрибут не был ранее задан, возвращается значение по умолчанию, предоставленное в качестве параметра.

Этот метод исключает необходимость метода hasAttribute(), так как он позволяет указать значение по умолчанию для возврата, если атрибут не найден.

Параметры

string $name

Имя атрибута.

mixed $default необязательный

Значение по умолчанию, если атрибут не задан.

Возвращает

mixed

getAttributes() public

getAttributes(): array<string, mixed>

Получить все атрибуты в запросе.

Это будет включать атрибуты params, webroot, base и here, предоставляемые CakePHP.

Возвращает

array<string, mixed>

getBody() public

getBody(): Psr\Http\Message\StreamInterface

Получить тело сообщения.

Возвращает

Psr\Http\Message\StreamInterface

getCookie() public

getCookie(string $key, array|string|null $default = null): array|string|null

Прочитать данные cookie из данных cookie запроса.

Параметры

string $key

Ключ или путь с точками, который вы хотите прочитать.

array|string|null $default необязательный

Значение по умолчанию, если cookie не задано.

Возвращает

array|string|null

getCookieCollection() 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\CookieCollection

getCookieParams() 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 необязательный

Данные по умолчанию.

Возвращает

mixed

getEnv() public

getEnv(string $key, string|null $default = null): string|null

Получить значение из данных среды запроса. Использует env(), если ключ не установлен в свойстве $environment.

Параметры

string $key

Ключ, который вы хотите прочитать.

string|null $default необязательный

Значение по умолчанию при попытке извлечения значения переменной среды, которое не существует.

Возвращает

string|null

getFlash() public

getFlash(): Cake\Http\FlashMessage

Возвращает экземпляр объекта FlashMessage для этого запроса

Возвращает

Cake\Http\FlashMessage

getHeader() public

getHeader(string $name): array<string>

Получить один заголовок из запроса.

Возвращает значение заголовка в виде массива. Если заголовок отсутствует, возвращается пустой массив.

Параметры

string $name

Заголовок, который вы хотите получить (независимо от регистра)

Возвращает

array<string>

Ссылки

https://www.php-fig.org/psr/psr-7/ Этот метод является частью интерфейса серверного запроса PSR-7.

getHeaderLine() public

getHeaderLine(string $name): string

Получить один заголовок в виде строки из запроса.

Этот метод возвращает все значения заголовка заданного имени заголовка (независимо от регистра) в виде строки, соединенные вместе запятыми.

ПРИМЕЧАНИЕ: не все значения заголовков могут быть корректно представлены с помощью конкатенации запятыми. Для таких заголовков используйте getHeader() вместо этого и предоставьте собственный разделитель при конкатенации.

Если заголовок не найден в сообщении, этот метод ДОЛЖЕН вернуть пустую строку.

Параметры

string $name

Заголовок, который вы хотите получить (независимо от регистра)

Возвращает

string

Ссылки

https://www.php-fig.org/psr/psr-7/ Этот метод является частью интерфейса серверного запроса PSR-7.

getHeaders() public

getHeaders(): array<string[]>

Получить все заголовки в запросе.

Возвращает ассоциативный массив, где имена заголовков являются ключами, а значениями является список значений заголовков.

Хотя имена заголовков не чувствительны к регистру, getHeaders() будет нормализовать заголовки.

Возвращает

array<string[]>

Ссылки

https://www.php-fig.org/psr/psr-7/ Этот метод является частью интерфейса серверного запроса PSR-7.

getMethod() public

getMethod(): string

Получить HTTP-метод, используемый для этого запроса. Есть несколько способов указать метод.

  • Если ваш клиент поддерживает, вы можете использовать собственные HTTP-методы.
  • Вы можете установить заголовок HTTP-X-Method-Override.
  • Вы можете отправить входные данные с именем _method

Любой из этих 3 подходов может использоваться для установки HTTP-метода, используемого CakePHP внутри, и повлияет на результат этого метода.

Возвращает

string

Ссылки

https://www.php-fig.org/psr/psr-7/ Этот метод является частью интерфейса серверного запроса PSR-7.

getParam() public

getParam(string $name, mixed $default = null): mixed

Безопасный доступ к значениям в $this->params.

Параметры

string $name

Имя или путь с точками к параметру.

mixed $default необязательный

Значение по умолчанию, если $name не задано. Значение по умолчанию null.

Возвращает

mixed

getParsedBody() public

getParsedBody(): object|array|null

Получить данные обработанного тела запроса.

Если тип содержимого запроса — application/x-www-form-urlencoded или multipart/form-data, а метод запроса — POST, это будут данные POST. Для других типов содержимого это может быть десериализованное тело запроса.

Возвращает

object|array|null

getPath() public

getPath(): string

Получить путь текущего запроса.

Возвращает

string

getProtocolVersion() public

getProtocolVersion(): string

Возвращает версию протокола HTTP в виде строки.

Строка ДОЛЖНА содержать только номер версии HTTP (например, "1.1", "1.0").

Возвращает

string

getQuery() 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

См. также

ServerRequest::getQueryParams()

getQueryParams() public

getQueryParams(): array

Получение всех параметров запроса в соответствии со спецификациями PSR-7. Для чтения определённых значений запроса используйте альтернативный метод getQuery().

Возвращает десериализованные аргументы строки запроса, если таковые имеются.

Примечание: параметры запроса могут не синхронизироваться с параметрами URI или сервера. Если вам нужно гарантировать, что вы получаете только исходные значения, возможно, вам потребуется разобрать строку запроса из getUri()->getQuery() или из параметра сервера QUERY_STRING.

Возвращает

array

Ссылки

https://www.php-fig.org/psr/psr-7/ Этот метод является частью интерфейса запроса сервера PSR-7.

getRequestTarget() public

getRequestTarget(): string

Возвращает целевой объект запроса.

Возвращает целевой объект запроса сообщения, либо как он был запрошен, либо как он был задан с помощью withRequestTarget(). По умолчанию возвращает относительный путь приложения без базового каталога и строку запроса, определённую в переменной среды SERVER.

Возвращает

string

getServerParams() public

getServerParams(): array

Получение всех параметров среды сервера.

Чтение всех данных «среды» или «сервера», которые были использованы для создания этого запроса.

Возвращает

array

Ссылки

https://www.php-fig.org/psr/psr-7/ Этот метод является частью интерфейса запроса сервера PSR-7.

getSession() public

getSession(): Cake\Http\Session

Возвращает экземпляр объекта Session для этого запроса

Возвращает

Cake\Http\Session

getTrustedProxies() public

getTrustedProxies(): array<string>

Получение доверенных прокси

Возвращает

array<string>

getUploadedFile() public

getUploadedFile(string $path): Psr\Http\Message\UploadedFileInterface|null

Получение загруженного файла по пути с точками.

Параметры

string $path

Путь с точками до файла, который вы хотите получить.

Возвращает

Psr\Http\Message\UploadedFileInterface|null

getUploadedFiles() public

getUploadedFiles(): array

Получение массива загруженных файлов из запроса.

Этот метод возвращает метаданные загрузки в нормализованном дереве, где каждый лист — экземпляр Psr\Http\Message\UploadedFileInterface.

Эти значения МОГУТ быть подготовлены из $_FILES или тела сообщения во время инициализации, или МОГУТ быть введены с помощью withUploadedFiles().

Возвращает

array

getUri() public

getUri(): Psr\Http\Message\UriInterface

Возвращает экземпляр URI.

Этот метод ДОЛЖЕН возвращать экземпляр UriInterface.

Возвращает

Psr\Http\Message\UriInterface

hasHeader() public

hasHeader(string $name): bool

Проверка наличия заголовка в запросе.

Параметры

string $name

Заголовок, который нужно получить (регистронезависимый)

Возвращает

bool

Ссылки

https://www.php-fig.org/psr/psr-7/ Этот метод является частью интерфейса запроса сервера PSR-7.

host() public

host(): string|null

Получение хоста, на котором обрабатывался запрос.

Возвращает

string|null

input() 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

Дополнительные аргументы

Возвращает

mixed

is() 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

Список аргументов

Возвращает

bool

isAll() public

isAll(array<string> $types): bool

Проверка соответствия запроса всем указанным типам.

Позволяет проверить несколько типов и объединить результаты. См. Request::is() для получения информации о том, как добавить дополнительные типы и встроенные типы.

Параметры

array<string> $types

Типы для проверки.

Возвращает

bool

См. также

\Cake\Http\ServerRequest::is()

normalizeHeaderName() protected

normalizeHeaderName(string $name): string

Нормализация имени заголовка до версии SERVER.

Параметры

string $name

Имя заголовка.

Возвращает

string

parseAccept() public

parseAccept(): array

Обработка заголовка HTTP_ACCEPT и возвращение отсортированного массива с типами содержимого в качестве ключей и значениями предпочтений.

В общем случае для получения простого списка поддерживаемых типов содержимого следует использовать {@link \Cake\Http\ServerRequest::accepts()}.

Возвращает

array

port() public

port(): string|null

Получение порта, на котором обрабатывался запрос.

Возвращает

string|null

processUrlOption() 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|null

scheme() public

scheme(): string|null

Получить текущую схему URL, используемую для запроса.

Например, 'http' или 'https'

Возвращает

string|null

setTrustedProxies() public

setTrustedProxies(array<string> $proxies): void

регистрация доверенных прокси

Параметры

array<string> $proxies

список IP-адресов доверенных прокси

Возвращает

void

subdomains() 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

Ссылки

https://www.php-fig.org/psr/psr-7/ Этот метод является частью интерфейса серверного запроса PSR-7.

withAttribute() public

withAttribute(string $name, mixed $value): static

Возвращает экземпляр с указанным атрибутом запроса.

Этот метод позволяет установить один производный атрибут запроса, как описано в getAttributes().

Этот метод ОДНОЗНАЧНО должен быть реализован таким образом, чтобы сохранить неизменяемость сообщения, и ДОЛЖЕН вернуть экземпляр с обновлённым атрибутом.

Параметры

string $name

Имя атрибута.

mixed $value

Значение атрибута.

Возвращает

static

withBody() public

withBody(StreamInterface $body): static

Возвращает экземпляр со указанным телом сообщения.

Тело ДОЛЖНО быть объектом StreamInterface.

Этот метод ДОЛЖЕН быть реализован таким образом, чтобы сохранить неизменяемость сообщения, и ДОЛЖЕН вернуть новый экземпляр с новым потоком тела.

Параметры

StreamInterface $body

Новое тело запроса

Возвращает

static

withCookieCollection() public

withCookieCollection(Cake\Http\Cookie\CookieCollection $cookies): static

Заменить куки в запросе на те, которые содержатся в предоставленном CookieCollection.

Параметры

Cake\Http\Cookie\CookieCollection $cookies

Коллекция куки

Возвращает

static

withCookieParams() public

withCookieParams(array $cookies): static

Заменить куки и получить новый экземпляр запроса.

Данные НЕ ТРЕБУЮТСЯ для получения из $_COOKIE, но ДОЛЖНЫ быть совместимы со структурой $_COOKIE. Обычно эти данные будут внедрены при создании экземпляра.

Этот метод НЕ ДОЛЖЕН обновлять связанный заголовок Cookie экземпляра запроса, ни связанные значения в параметрах сервера.

Этот метод ДОЛЖЕН быть реализован таким образом, чтобы сохранить неизменяемость сообщения, и ДОЛЖЕН вернуть экземпляр с обновлёнными значениями cookie.

Параметры

array $cookies

Новые данные cookie для использования.

Возвращает

static

withData() public

withData(string $name, mixed $value): static

Обновить запрос с новым элементом данных запроса.

Возвращает обновлённый объект запроса. Этот метод возвращает новый объект запроса и не изменяет запрос на месте.

Используйте withParsedBody() если вам нужно заменить все данные запроса.

Параметры

string $name

Путь с точками для вставки $value.

mixed $value

Значение для вставки в данные запроса.

Возвращает

static

withEnv() public

withEnv(string $key, string $value): static

Обновить запрос с новым элементом данных среды.

Возвращает обновлённый объект запроса. Этот метод возвращает новый объект запроса и не изменяет запрос на месте.

Параметры

string $key

Ключ, который вы хотите записать.

string $value

Значение для установки

Возвращает

static

withHeader() public

withHeader(string $name, string|string[] $value): static

Получить изменённый запрос с предоставленным заголовком.

Хотя имена заголовков нечувствительны к регистру, регистр заголовка будет сохранён этой функцией и возвращён из getHeaders().

Этот метод ДОЛЖЕН быть реализован таким образом, чтобы сохранить неизменяемость сообщения, и ДОЛЖЕН вернуть экземпляр с новым и/или обновлённым заголовком и значением.

Параметры

string $name

Имя заголовка.

string|string[] $value

Значение заголовка

Возвращает

static

Ссылки

https://www.php-fig.org/psr/psr-7/ Этот метод является частью интерфейса серверного запроса PSR-7.

withMethod() public

withMethod(string $method): static

Обновить метод запроса и получить новый экземпляр.

Хотя имена HTTP-методов обычно состоят из заглавных букв, имена HTTP-методов чувствительны к регистру, и поэтому реализации НЕ ДОЛЖНЫ изменять переданную строку.

Этот метод ДОЛЖЕН быть реализован таким образом, чтобы сохранить неизменяемость сообщения, и ДОЛЖЕН вернуть экземпляр с изменённым методом запроса.

Параметры

string $method

HTTP-метод для использования.

Возвращает

static

Ссылки

https://www.php-fig.org/psr/psr-7/ Этот метод является частью интерфейса серверного запроса PSR-7.

withParam() public

withParam(string $name, mixed $value): static

Обновить запрос с новым параметром маршрута

Возвращает обновлённый объект запроса. Этот метод возвращает новый объект запроса и не изменяет запрос на месте.

Параметры

string $name

Путь с точками для вставки $value.

mixed $value

Значение для вставки в параметры запроса.

Возвращает

static

withParsedBody() public

withParsedBody(null|array|object $data): static

Обновить разобранное тело и получить новый экземпляр.

Эти значения МОГУТ быть внедрены во время создания экземпляра.

Если тип содержимого запроса — application/x-www-form-urlencoded или multipart/form-data, а метод запроса — POST, используйте этот метод ТОЛЬКО для внедрения содержимого $_POST.

Данные НЕ ОБЯЗАТЕЛЬНО должны поступать из $_POST, но ОБЯЗАТЕЛЬНО должны быть результатом десериализации содержимого тела запроса. Десериализация/разбор возвращает структурированные данные, и, следовательно, этот метод ПРИНИМАЕТ только массивы или объекты, или значение null, если ничего не было доступно для разбора.

Например, если согласование типов содержимого определяет, что данные запроса представляют собой JSON-загрузку, этот метод можно использовать для создания экземпляра запроса с десериализованными параметрами.

Этот метод ОБЯЗАТЕЛЬНО должен быть реализован таким образом, чтобы сохранять неизменяемость сообщения, и ОБЯЗАТЕЛЬНО должен возвращать экземпляр с обновлёнными параметрами тела.

Параметры

null|array|object $data

Данные разобранного тела. Обычно это массив или объект.

Возвращает

static

withProtocolVersion() public

withProtocolVersion(string $version): static

Возвращает экземпляр со указанной версией HTTP протокола.

Строка версии ДОЛЖНА содержать только номер версии HTTP (например, "1.1", "1.0").

Параметры

string $version

Версия HTTP протокола

Возвращает

static

withQueryParams() public

withQueryParams(array $query): static

Обновить данные строки запроса и получить новый экземпляр.

Эти значения ДОЛЖНЫ оставаться неизменными в течение входящего запроса. Они МОГУТ быть внедрены во время создания экземпляра, например, из $_GET суперглобальной переменной PHP, или МОГУТ быть получены из какого-либо другого значения, например, из URI. В случаях, когда аргументы анализируются из URI, данные ДОЛЖНЫ быть совместимы с тем, что вернёт PHP parse_str() с точки зрения обработки дублирующихся параметров запроса и обработки вложенных наборов.

Установка аргументов строки запроса НЕ ДОЛЖНА изменять URI, хранимый в запросе, ни значения в параметрах сервера.

Этот метод ДОЛЖЕН быть реализован таким образом, чтобы сохранять неизменяемость сообщения, и ДОЛЖЕН возвращать экземпляр с обновлёнными аргументами строки запроса.

Параметры

array $query

Данные строки запроса для использования

Возвращает

static

Ссылки

https://www.php-fig.org/psr/psr-7/ Этот метод является частью интерфейса PSR-7 серверного запроса.

withRequestTarget() public

withRequestTarget(mixed $requestTarget): static

Создать новый экземпляр со специфическим целевым элементом запроса.

Вы можете использовать этот метод для перезаписи целевого элемента запроса, который определяется из Uri запроса. Это также позволяет вам изменить форму целевого элемента запроса на абсолютную форму, форму с указанием авторитета или форму со звёздочкой.

Параметры

mixed $requestTarget

Целевой элемент запроса.

Возвращает

static

Ссылки

https://tools.ietf.org/html/rfc7230#section-2.7 (для различных форм целевых элементов запроса, разрешённых в сообщениях запроса)

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

Сохранять ли хост.

Возвращает

static

withoutAttribute() public

withoutAttribute(string $name): static

Возвращает экземпляр без указанного атрибута запроса.

Этот метод позволяет удалить один производный атрибут запроса, как описано в getAttributes().

Этот метод ОБЯЗАТЕЛЬНО должен быть реализован таким образом, чтобы сохранять неизменяемость сообщения, и ОБЯЗАТЕЛЬНО должен возвращать экземпляр, который удаляет атрибут.

Параметры

string $name

Имя атрибута.

Возвращает

static

Исключения

InvalidArgumentException

withoutData() public

withoutData(string $name): static

Обновить запрос, удалив элемент данных.

Возвращает обновлённый объект запроса. Этот метод возвращает НОВЫЙ объект запроса и не изменяет объект запроса на месте.

Параметры

string $name

Путь, разделённый точками, для удаления.

Возвращает

static

withoutHeader() public

withoutHeader(string $name): static

Получить изменённый запрос без предоставленного заголовка.

Разрешение заголовков ДОЛЖНО выполняться без учёта регистра.

Этот метод ОБЯЗАТЕЛЬНО должен быть реализован таким образом, чтобы сохранять неизменяемость сообщения, и ОБЯЗАТЕЛЬНО должен возвращать экземпляр, который удаляет указанный заголовок.

Параметры

string $name

Имя заголовка для удаления.

Возвращает

static

Ссылки

https://www.php-fig.org/psr/psr-7/ Этот метод является частью интерфейса PSR-7 серверного запроса.

Подробное описание свойства

$_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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API