Spec-Zone.ru › CakePHP 4.2

Класс Response

Ответы содержат текст ответа, статус и заголовки HTTP-ответа.

Существуют внешние пакеты, такие как fig/http-message-util, которые предоставляют константы кодов статуса HTTP. Их можно использовать с любым методом, принимающим или возвращающим целое число статуса. Имейте в виду, что эти константы могут включать коды статусов, которые сейчас запрещены, что вызовет \InvalidArgumentException.

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

Константы

  • int
    STATUS_CODE_MAX
    599
  • int
    STATUS_CODE_MIN
    100

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

  • $_cacheDirectives protected
    array

    Хранит все директивы кэширования, которые будут преобразованы в заголовки при отправке запроса

  • $_charset protected
    string

    Кодировка символов тела ответа

  • $_cookies protected
    Cake\Http\Cookie\CookieCollection

    Коллекция куки для отправки клиенту

  • $_file protected
    SplFileInfo|null

    Объект файла для чтения файла как ответа

  • $_fileRange protected
    array

    Диапазон файла. Используется для запроса диапазонов файлов.

  • $_mimeTypes protected
    array

    Содержит соответствия ключей типа к типам MIME для известных типов MIME.

  • $_reasonPhrase protected
    string

    Фраза причины

  • $_status protected
    int

    Код состояния для отправки клиенту

  • $_statusCodes protected
    string[]

    Разрешённые HTTP-коды состояния и их стандартное описание.

  • $_streamMode protected
    string

    Параметры режима потока.

  • $_streamTarget protected
    string|resource

    Целевой поток или объект ресурса.

  • $headerNames protected
    array

    Отображение нормализованного имени заголовка на исходное имя, используемое для регистрации заголовка.

  • $headers protected
    array

    Список всех зарегистрированных заголовков в виде ключ => массив значений.

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

  • __construct() public

    Конструктор

  • __debugInfo() public

    Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.

  • __toString() public

    Преобразование в строку. Извлекает тело ответа в виде строки. Не отправляет заголовки. Если тело — вызываемый объект, возвращается пустая строка.

  • _clearHeader() protected

    Очистить заголовок

  • _createStream() protected

    Создаёт объект потока.

  • _fileRange() protected

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

  • _getUTCDate() protected

    Возвращает объект DateTime, инициализированный в параметре $time и использующий часовой пояс UTC.

  • _setCacheControl() protected

    Вспомогательный метод для генерации допустимого заголовка Cache-Control из опций, установленных в других методах.

  • _setContentType() protected

    Форматирует заголовок Content-Type на основе настроенного contentType и charset. charset будет установлен в заголовок только в том случае, если тип ответа — text/*

  • _setHeader() protected

    Устанавливает заголовок.

  • _setStatus() protected

    Модификатор для статуса ответа.

  • checkNotModified() public

    Проверяет, не был ли ответ изменён в соответствии с заголовками запроса 'If-None-Match' (Etag) и 'If-Modified-Since' (дата последнего изменения). Если ответ не был изменён, он помечается как таковой, чтобы клиент мог об этом узнать.

  • compress() public

    Устанавливает правильный обработчик буферизации вывода для отправки сжатого ответа. Ответы будут сжаты с помощью zlib, если расширение доступно.

  • cors() public

    Получает экземпляр CorsBuilder для определения заголовков CORS.

  • getBody() public

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

  • getCharset() public

    Возвращает текущий кодировку.

  • getCookie() public

    Считывает один куки из ответа.

  • getCookieCollection() public

    Получает CookieCollection из ответа.

  • getCookies() public

    Получает все куки в ответе.

  • getFile() public

    Получает текущий файл, если он существует.

  • getHeader() public

    Извлекает значение заголовка сообщения по заданному имени (регистр игнорируется).

  • getHeaderLine() public

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

  • getHeaders() public

    Извлекает все заголовки сообщения.

  • getMimeType() public

    Возвращает определение типа MIME для псевдонима.

  • getProtocolVersion() public

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

  • getReasonPhrase() public

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

  • getStatusCode() public

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

  • getType() public

    Возвращает текущий тип содержимого.

  • hasHeader() public

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

  • mapType() public

    Возвращает тип содержимого обратно к псевдониму.

  • notModified() public

    Устанавливает ответ как "Не изменён", удаляя содержимое тела, устанавливая код состояния на "304 Не изменён" и удаляя все конфликтующие заголовки.

  • outputCompressed() public

    Возвращает, будет ли результирующий вывод сжат PHP.

  • resolveType() protected

    Перевод и проверка типов содержимого.

  • setTypeMap() public

    Добавляет определение типа содержимого в карту.

  • validateFile() protected

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

  • withAddedHeader() public

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

  • withAddedLink() public

    Создаёт новый ответ с заданным заголовком Link.

  • withBody() public

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

  • withCache() public

    Создаёт новый экземпляр с заголовками для включения кэширования клиентом.

  • withCharset() public

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

  • withCookie() public

    Создаёт новый ответ с установленным куки.

  • withCookieCollection() public

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

  • withDisabledCache() public

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

  • withDownload() public

    Создаёт новый экземпляр с установленным заголовком Content-Disposition.

  • withEtag() public

    Создаёт новый экземпляр с установленным заголовком Etag.

  • withExpiredCookie() public

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

  • withExpires() public

    Создаёт новый экземпляр с установленным заголовком Expires.

  • withFile() public

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

  • withHeader() public

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

  • withLength() public

    Создать новый ответ с установленным заголовком Content-Length.

  • withLocation() public

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

  • withMaxAge() public

    Создать экземпляр с установленным директивой Cache-Control max-age.

  • withModified() public

    Создать новый экземпляр с установленным заголовком Last-Modified.

  • withMustRevalidate() public

    Создать экземпляр с установленной директивой Cache-Control must-revalidate.

  • withNotModified() public

    Создать новый экземпляр как 'не изменённый'.

  • withProtocolVersion() public

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

  • withSharable() public

    Создать новый экземпляр с установленной директивой Cache-Control public/private.

  • withSharedMaxAge() public

    Создать новый экземпляр с установленной директивой Cache-Control s-maxage.

  • withStatus() public

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

  • withStringBody() public

    Удобный метод для установки строки в тело ответа.

  • withType() public

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

  • withVary() public

    Создать новый экземпляр с установленным заголовком Vary.

  • withoutHeader() public

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

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

__construct() public

__construct(array $options = [])

Конструктор

Параметры

array $options optional

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

Исключения

InvalidArgumentException

__debugInfo() public

__debugInfo(): array

Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.

Возвращаемое значение

array

__toString() public

__toString(): string

Преобразование в строку. Получает тело ответа в виде строки. Не отправляет заголовки. Если тело является вызываемым объектом, возвращается пустая строка.

Возвращаемое значение

string

_clearHeader() protected

_clearHeader(string $header): void

Очистить заголовок

Параметры

string $header

Ключ заголовка.

Возвращаемое значение

void

_createStream() protected

_createStream(): void

Создаёт объект потока.

Возвращаемое значение

void

_fileRange() protected

_fileRange(SplFileInfo $file, string $httpRange): void

Применение диапазона файла и установка конечной позиции.

Если запрашивается неверный диапазон, в ответе будет использоваться код состояния 416.

Параметры

SplFileInfo $file

Файл, для которого нужно задать диапазон.

string $httpRange

Диапазон для использования.

Возвращаемое значение

void

_getUTCDate() protected

_getUTCDate(string|intDateTimeInterface|null $time = null): DateTimeInterface

Возвращает объект DateTime, инициализированный в параметре $time и использующий часовой пояс UTC.

Параметры

string|intDateTimeInterface|null $time optional

Действительная строка времени или экземпляр \DateTimeInterface.

Возвращаемое значение

DateTimeInterface

_setCacheControl() protected

_setCacheControl(): void

Вспомогательный метод для генерации действительного заголовка Cache-Control из параметров, установленных в других методах

Возвращаемое значение

void

_setContentType() protected

_setContentType(string $type): void

Форматирует заголовок Content-Type на основе настроенного contentType и кодировки. Кодировка устанавливается в заголовке только если тип ответа — text/*

Параметры

string $type

Тип, который нужно установить.

Возвращаемое значение

void

_setHeader() protected

_setHeader(string $header, string $value): void

Устанавливает заголовок.

Параметры

string $header

Ключ заголовка.

string $value

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

Возвращаемое значение

void

_setStatus() protected

_setStatus(int $code, string $reasonPhrase = ''): void

Изменение кода состояния ответа

Параметры

int $code

Код состояния, который нужно установить.

string $reasonPhrase optional

Фраза причины ответа.

Возвращаемое значение

void

Исключения

InvalidArgumentException
При некорректных аргументах кода состояния.

checkNotModified() public

checkNotModified(Cake\Http\ServerRequest $request): bool

Проверяет, не был ли ответ изменён в соответствии с запросом 'If-None-Match' (Etags) и 'If-Modified-Since' (дата последней модификации). Если ответ не был изменён, он помечается как таковой, чтобы клиент мог об этом узнать.

Чтобы отметить ответ как не изменённый, необходимо установить заголовок ответа Last-Modified etag до вызова этого метода. В противном случае сравнение будет невозможно.

Предупреждение Этот метод изменяет ответ на месте и следует избегать его использования.

Параметры

Cake\Http\ServerRequest $request

Объект запроса

Возвращаемое значение

bool

compress() public

compress(): bool

Устанавливает правильный обработчик буферизации вывода для отправки сжатого ответа. Ответы будут сжиматься с помощью zlib, если расширение доступно.

Возвращаемое значение

bool

cors() public

cors(Cake\Http\ServerRequest $request): Cake\Http\CorsBuilder

Получить экземпляр CorsBuilder для определения заголовков CORS.

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

Полный URI

cors($request, 'https://www.cakephp.org');

URI с подстановочным знаком

cors($request, 'https://*.cakephp.org');

Игнорирование запрошенного протокола

cors($request, 'www.cakephp.org');

Любой URI

cors($request, '*');

Разрешённый список URI

cors($request, ['http://www.cakephp.org', '*.google.com', 'https://myproject.github.io']);

Примечание Параметры $allowedDomains, $allowedMethods, $allowedHeaders устарели. Вместо этого следует использовать объект билдера.

Параметры

Cake\Http\ServerRequest $request

Объект запроса

Возвращаемое значение

Cake\Http\CorsBuilder

getBody() public

getBody(): StreamInterface

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

Возвращаемое значение

StreamInterface

getCharset() public

getCharset(): string

Возвращает текущую кодировку.

Возвращаемое значение

string

getCookie() public

getCookie(string $name): array|null

Чтение одного куки из ответа.

Этот метод предоставляет чтение ожидаемых куки. Он не будет читать заголовок Set-Cookie если он установлен.

Параметры

string $name

Имя куки, которое нужно прочитать.

Возвращаемое значение

array|null

getCookieCollection() public

getCookieCollection(): Cake\Http\Cookie\CookieCollection

Получить CookieCollection из ответа

Возвращаемое значение

Cake\Http\Cookie\CookieCollection

getCookies() public

getCookies(): array

Получить все куки в ответе.

Возвращает ассоциативный массив имя куки => данные куки.

Возвращаемое значение

array

getFile() public

getFile(): SplFileInfo|null

Получить текущий файл, если он существует.

Возвращаемое значение

SplFileInfo|null

getHeader() public

getHeader(string $header): string[]

Извлекает значение заголовка сообщения по заданному имени (регистронезависимо).

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

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

Параметры

string $header

Имя поля заголовка (регистронезависимо).

Возвращаемое значение

string[]

getHeaderLine() public

getHeaderLine(string $name): string

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

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

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

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

Параметры

string $name

Имя поля заголовка (регистронезависимое).

Возвращает

string

getHeaders() public

getHeaders(): array

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

Ключи представляют имя заголовка в том виде, как оно будет отправлено по сети, а каждое значение — массив строк, связанных с этим заголовком.

// Представление заголовков в виде строки foreach ($message->getHeaders() as $name => $values) { echo $name . ": " . implode(", ", $values); }

// Вывод заголовков итеративно: foreach ($message->getHeaders() as $name => $values) { foreach ($values as $value) { header(sprintf('%s: %s', $name, $value), false); } }

Возвращает

array

getMimeType() public

getMimeType(string $alias): string|array|false

Возвращает определение типа MIME для псевдонима

Например, getMimeType('pdf'); // returns 'application/pdf'

Параметры

string $alias

псевдоним типа содержимого для сопоставления

Возвращает

string|array|false

getProtocolVersion() public

getProtocolVersion(): string

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

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

Возвращает

string

getReasonPhrase() public

getReasonPhrase(): string

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

Поскольку фраза причины не является обязательным элементом в строке состояния ответа, значение фразы причины МОЖЕТ быть null. Реализации МОГУТ выбрать возврат рекомендуемой RFC 7231 фразы причины (или тех, которые перечислены в реестре кодов состояния HTTP IANA) для кода состояния ответа.

Возвращает

string

Ссылки

https://tools.ietf.org/html/rfc7231#section-6

http://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml

getStatusCode() public

getStatusCode(): int

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

Код состояния — это 3-значное целочисленное значение результата попытки сервера понять и удовлетворить запрос.

Возвращает

int

getType() public

getType(): string

Возвращает текущий тип содержимого.

Возвращает

string

hasHeader() public

hasHeader(string $header): bool

Проверяет наличие заголовка по заданному имени (регистронезависимо).

Параметры

string $header

Имя заголовка (регистронезависимое).

Возвращает

bool

mapType() public

mapType(string|array $ctype): string|array|null

Преобразует тип содержимого обратно в псевдоним

Например, mapType('application/pdf'); // returns 'pdf'

Параметры

string|array $ctype

Строка типа содержимого для сопоставления или массив типов.

Возвращает

string|array|null

notModified() public

notModified(): void

Устанавливает ответ как "Не Изменён", удаляя содержимое тела, устанавливая код состояния на "304 Не Изменён" и удаляя все конфликтующие заголовки.

Предупреждение Этот метод изменяет ответ на месте и следует избегать его использования.

Возвращает

void

outputCompressed() public

outputCompressed(): bool

Возвращает, будет ли результирующий вывод сжат PHP.

Возвращает

bool

resolveType() protected

resolveType(string $contentType): string

Перевод и проверка типов содержимого.

Параметры

string $contentType

Тип содержимого или псевдоним типа.

Возвращает

string

Выбрасывает

InvalidArgumentException
При использовании недопустимого типа содержимого или псевдонима.

setTypeMap() public

setTypeMap(string $type, string|array $mimeType): void

Добавляет определение типа содержимого в карту.

Например: setTypeMap('xhtml', ['application/xhtml+xml', 'application/xhtml'])

Это необходимо для RequestHandlerComponent и распознавания типов.

Параметры

string $type

Тип содержимого.

string|array $mimeType

Определение типа MIME.

Возвращает

void

validateFile() protected

validateFile(string $path): SplFileInfo

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

Параметры

string $path

Путь к файлу.

Возвращает

SplFileInfo

Выбрасывает

Cake\Http\Exception\NotFoundException

withAddedHeader() public

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

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

Существующие значения для указанного заголовка сохраняются. Новое(ые) значение(я) добавляются в существующий список. Если заголовок ранее не существовал, он добавляется.

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

Параметры

string $name

Имя поля заголовка для добавления (регистронезависимое).

string|string[] $value

Значение(я) заголовка.

Возвращает

static

Выбрасывает

Exception\InvalidArgumentException
Для недопустимых имён или значений заголовков.

withAddedLink() public

withAddedLink(string $url, array $options = []): static

Создаёт новый ответ с установленным заголовком Link.

Примеры

$response = $response->withAddedLink('http://example.com?page=1', ['rel' => 'prev'])
    ->withAddedLink('http://example.com?page=3', ['rel' => 'next']);

Сгенерирует:

Link: <http://example.com?page=1>; rel="prev"
Link: <http://example.com?page=3>; rel="next"

Параметры

string $url

URL заголовка LinkHeader.

array $options необязательно

Параметры заголовка LinkHeader.

Возвращает

static

withBody() public

withBody(StreamInterface $body): static

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

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

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

Параметры

StreamInterface $body

Тело.

Возвращает

static

Выбрасывает

Exception\InvalidArgumentException
При некорректном теле.

withCache() public

withCache(int|string $since, int|string $time = '+1 day'): static

Создаёт новый экземпляр с заголовками для включения кеширования клиента.

Параметры

int|string $since

действительная дата, с которой текст ответа не изменялся

int|string $time необязательно

действительная дата истечения срока действия кэша

Возвращает

static

withCharset() public

withCharset(string $charset): static

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

Параметры

string $charset

Строка набора символов.

Возвращает

static

withCookie() public

withCookie(Cake\Http\Cookie\CookieInterface $cookie): static

Создать новый ответ с заданным cookie.

Пример

// add a cookie object
$response = $response->withCookie(new Cookie('remember_me', 1));

Параметры

Cake\Http\Cookie\CookieInterface $cookie

Объект cookie

Возвращает

static

withCookieCollection() public

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

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

Параметры

Cake\Http\Cookie\CookieCollection $cookieCollection

Коллекция cookie для установки.

Возвращает

static

withDisabledCache() public

withDisabledCache(): static

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

Возвращает

static

withDownload() public

withDownload(string $filename): static

Создать новый экземпляр с заданным заголовком Content-Disposition.

Параметры

string $filename

Название файла, как браузер будет загружать ответ.

Возвращает

static

withEtag() public

withEtag(string $hash, bool $weak = false): static

Создать новый экземпляр с установленным заголовком Etag.

Etag — это сильный показатель того, что клиент HTTP может кэшировать ответ. Плохой способ создания Etag — создание хэша выходных данных ответа, вместо этого создайте уникальный хэш уникальных компонентов, которые идентифицируют запрос, таких как время изменения, идентификатор ресурса и всё, что, по вашему мнению, делает ответ уникальным.

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

Параметры

string $hash

Уникальный хэш, который идентифицирует этот ответ.

bool $weak optional

Является ли ответ семантически таким же, как и другие с тем же хэшем, или нет. По умолчанию ложь.

Возвращает

static

withExpiredCookie() public

withExpiredCookie(Cake\Http\Cookie\CookieInterface $cookie): static

Создать новый ответ с установленным просроченным cookie.

Пример

// add a cookie object
$response = $response->withExpiredCookie(new Cookie('remember_me'));

Параметры

Cake\Http\Cookie\CookieInterface $cookie

Объект cookie

Возвращает

static

withExpires() public

withExpires(string|intDateTimeInterface|null $time): static

Создать новый экземпляр с установленным заголовком Expires.

Примеры:

// Will Expire the response cache now
$response->withExpires('now')

// Will set the expiration in next 24 hours
$response->withExpires(new DateTime('+1 day'))

Параметры

string|intDateTimeInterface|null $time

Действительная строка времени или экземпляр \DateTime.

Возвращает

static

withFile() public

withFile(string $path, array $options = []): static

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

Этот метод будет дополнять как тело, так и ряд связанных заголовков.

Если $_SERVER['HTTP_RANGE'] задан, вместо всего файла будет возвращён фрагмент файла.

Ключи опций

  • name: Альтернативное имя загрузки
  • download: Если true устанавливает заголовок загрузки и принудительно загружает файл, а не отображает его внутри.

Параметры

string $path

Абсолютный путь к файлу.

array $options optional

Опции см. выше.

Возвращает

static

Исключения

Cake\Http\Exception\NotFoundException

withHeader() public

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

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

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

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

Параметры

string $name

Регистронезависимое имя поля заголовка.

string|string[] $value

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

Возвращает

static

Исключения

Exception\InvalidArgumentException
Для недопустимых имён или значений заголовков.

withLength() public

withLength(int|string $bytes): static

Создать новый ответ с установленным заголовком Content-Length.

Параметры

int|string $bytes

Количество байтов

Возвращает

static

withLocation() public

withLocation(string $url): static

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

Если текущий код состояния равен 200, он будет заменён на 302.

Параметры

string $url

Расположение для перенаправления.

Возвращает

static

withMaxAge() public

withMaxAge(int $seconds): static

Создать экземпляр с директивой Cache-Control max-age.

max-age — это количество секунд после которого ответ больше не считается хорошим кандидатом для извлечения из локального (клиентского) кэша.

Параметры

int $seconds

Секунды, в течение которых кэшированный ответ может считаться действительным.

Возвращает

static

withModified() public

withModified(int|stringDateTimeInterface $time): static

Создать новый экземпляр с установленным заголовком Last-Modified.

Примеры:

// Will Expire the response cache now
$response->withModified('now')

// Will set the expiration in next 24 hours
$response->withModified(new DateTime('+1 day'))

Параметры

int|stringDateTimeInterface $time

Действительная строка времени или экземпляр \DateTime.

Возвращает

static

withMustRevalidate() public

withMustRevalidate(bool $enable): static

Создать экземпляр с директивой Cache-Control must-revalidate.

Устанавливает директиву Cache-Control must-revalidate. must-revalidate указывает, что ответ не должен обслуживаться устаревшим кэшем ни при каких обстоятельствах без предварительной перевалидации у источника.

Параметры

bool $enable

Если булево, устанавливает или сбрасывает директиву.

Возвращает

static

withNotModified() public

withNotModified(): static

Создать новый экземпляр как 'не изменённый'.

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

Возвращает

static

withProtocolVersion() public

withProtocolVersion(string $version): static

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

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

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

Параметры

string $version

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

Возвращает

static

withSharable() public

withSharable(bool $public, int|null $time = null): static

Создать новый экземпляр с директивой Cache-Control public/private.

Параметры

bool $public

Если установлено в true, заголовок Cache-Control будет установлен как public, если в false – response будет установлен как private.

int|null $time optional

Время в секундах, после которого ответ больше не должен считаться свежим.

Возвращаемое значение

static

withSharedMaxAge() public

withSharedMaxAge(int $seconds): static

Создать новый экземпляр с директивой Cache-Control s-maxage.

max-age – количество секунд, после которого ответ больше не должен считаться подходящим для извлечения из общего кэша (например, в прокси-сервере).

Параметры

int $seconds

Количество секунд для shared max-age

Возвращаемое значение

static

withStatus() public

withStatus(int $code, string $reasonPhrase = ''): static

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

Если фраза причины не указана, реализации МОГУТ выбрать значения по умолчанию из RFC 7231 или рекомендуемых IANA фразах причины для кода состояния ответа.

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

Если код состояния равен 304 или 204, существующий заголовок Content-Type будет очищен, так как эти коды состояния не имеют тела.

Существуют внешние пакеты, такие как fig/http-message-util , которые предоставляют константы кодов состояния HTTP. Их можно использовать с любым методом, который принимает или возвращает целочисленный код состояния. Однако имейте в виду, что эти константы могут включать коды состояний, которые сейчас недопустимы, что приведёт к ошибке \InvalidArgumentException.

Параметры

int $code

Трехзначный целочисленный код состояния для установки.

string $reasonPhrase optional

Фраза причины для использования с предоставленным кодом состояния; если она не предоставлена, реализации МОГУТ использовать значения по умолчанию, как предложено в спецификации HTTP.

Возвращаемое значение

static

Исключения

InvalidArgumentException
Для некорректных аргументов кода состояния.

Ссылки

https://tools.ietf.org/html/rfc7231#section-6

https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml

withStringBody() public

withStringBody(string $string): static

Метод для удобства установки строки в тело ответа

Параметры

string $string

Строка, которая должна быть отправлена

Возвращаемое значение

static

withType() public

withType(string $contentType): static

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

Если вы попытаетесь установить тип для ответа со статусом 304 или 204, тип содержимого не будет учтён, так как эти коды состояния не имеют типов содержимого.

Параметры

string $contentType

Расширение файла, которое будет сопоставлено с MIME-типом, или конкретный MIME-тип.

Возвращаемое значение

static

withVary() public

withVary(string|array $cacheVariances): static

Создать новый экземпляр с установленным заголовком Vary.

Если передан массив, значения будут объединены в строку, разделённую запятыми. Если не переданы параметры, возвращается массив с текущим значением заголовка Vary.

Параметры

string|array $cacheVariances

Одна строка Vary или массив, содержащий список вариаций.

Возвращаемое значение

static

withoutHeader() public

withoutHeader(string $name): static

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

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

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

Параметры

string $name

Имя поля заголовка (регистронезависимое) для удаления.

Возвращаемое значение

static

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

$_cacheDirectives protected

Содержит все директивы кэширования, которые будут преобразованы в заголовки при отправке запроса

Тип

array

$_charset protected

Кодировка символов тела ответа

Тип

string

$_cookies protected

Коллекция куки для отправки клиенту

Тип

Cake\Http\Cookie\CookieCollection

$_file protected

Объект файла для чтения содержимого ответа из файла

Тип

SplFileInfo|null

$_fileRange protected

Диапазон файла. Используется для запроса диапазонов файлов.

Тип

array

$_mimeTypes protected

Хранит сопоставления типа ключа к MIME-типу для известных MIME-типов.

Тип

array

$_reasonPhrase protected

Фраза причины

Тип

string

$_status protected

Код состояния, который будет отправлен клиенту

Тип

int

$_statusCodes protected

Разрешенные коды состояния HTTP и их стандартные описания.

Тип

string[]

$_streamMode protected

Параметры режима потока.

Тип

string

$_streamTarget protected

Объект целевого потока или ресурса.

Тип

string|resource

$headerNames protected

Карта нормализованного имени заголовка к оригинальному имени, используемому при регистрации заголовка.

Тип

array

$headers protected

Список всех зарегистрированных заголовков, как ключ => массив значений.

Тип

array

© 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.Response.html

Spec-Zone.ru

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