Spec-Zone.ru › CakePHP 4.4

Класс Response

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

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

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

Константы

  • int
    STATUS_CODE_MAX
    599
  • int
    STATUS_CODE_MIN
    100

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

  • $_cacheDirectives protected
    array<string, mixed>

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

  • $_charset protected
    string

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

  • $_cookies protected
    Cake\Http\Cookie\CookieCollection

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

  • $_file protected
    SplFileInfo|null

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

  • $_fileRange protected
    array<int>

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

  • $_mimeTypes protected
    array<string, mixed>

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

  • $_reasonPhrase protected
    string

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

  • $_status protected
    int

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

  • $_statusCodes protected
    array<int, string>

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

  • $_streamMode protected
    string

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

  • $_streamTarget protected
    resource|string

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

  • $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 deprecated

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

  • compress() public

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

  • cors() public

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

  • getBody() public

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

  • getCharset() public

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

  • getCookie() public

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

  • getCookieCollection() public

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

  • getCookies() public

    Получение всех cookie в ответе.

  • getFile() public

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

  • getHeader() public

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

  • getHeaderLine() public

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

  • getHeaders() public

    Получение всех заголовков сообщения.

  • getMimeType() public

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

  • getProtocolVersion() public

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

  • getReasonPhrase() public

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

  • getStatusCode() public

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

  • getType() public

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

  • hasHeader() public

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

  • isNotModified() public

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

  • mapType() public

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

  • notModified() public deprecated

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

  • outputCompressed() public

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

  • resolveType() protected

    Перевод и валидация типов содержимого.

  • setTypeMap() public

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

  • validateFile() protected

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

  • withAddedHeader() public

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

  • withAddedLink() public

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

  • withBody() public

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

  • withCache() public

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

  • withCharset() public

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

  • withCookie() public

    Создание нового ответа с установленным cookie.

  • withCookieCollection() public

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

  • withDisabledCache() public

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

  • withDownload() public

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

  • withEtag() public

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

  • withExpiredCookie() public

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

  • 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<string, mixed> $options = [])

Конструктор

Параметры

array<string, mixed> $options необязательный

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

Исключения

InvalidArgumentException

__debugInfo() public

__debugInfo(): array<string, mixed>

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

Возвращает

array<string, mixed>

__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(DateTimeInterface|string|int|null $time = null): DateTimeInterface

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

Параметры

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

Действительная строка времени или экземпляр \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 необязательный

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

Возвращает

void

Исключения

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

checkNotModified() public

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

Проверяет, не был ли ответ изменён в соответствии с заголовками запроса 'If-None-Match' (Etag) и '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.

Параметры

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<string, array>

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

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

Возвращает

array<string, 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): array|string|false

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

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

Параметры

string $alias

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

Возвращает

array|string|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

https://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

isNotModified() public

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

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

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

Параметры

Cake\Http\ServerRequest $request

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

Возвращает

bool

mapType() public

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

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

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

Параметры

array|string $ctype

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

Возвращает

array|string|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, array<string>|string $mimeType): void

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

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

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

Параметры

string $type

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

array<string>|string $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<string, mixed> $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<string, mixed> $options optional

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

Возвращает

static

withBody() public

withBody(StreamInterface $body): static

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

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

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

Параметры

StreamInterface $body

Тело.

Возвращает

static

Выбрасывает

Exception\InvalidArgumentException
При недопустимом теле.

withCache() public

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

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

Параметры

string|int $since

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

string|int $time optional

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

Возвращает

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

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

Возвращает

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(DateTimeInterface|string|int|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'))

Параметры

DateTimeInterface|string|int|null $time

Строка допустимого времени или экземпляр \DateTime.

Возвращает

static

withFile() public

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

Создать новую инстанцию, основанную на файле.

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

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

Ключи параметров

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

Параметры

string $path

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

array<string, mixed> $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(string|int $bytes): static

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

Параметры

string|int $bytes

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

Возвращает

static

withLocation() public

withLocation(string $url): static

Возвратить инстанцию с обновлённым заголовком location.

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

Параметры

string $url

Адрес переадресации.

Возвращает

static

withMaxAge() public

withMaxAge(int $seconds): static

Создать инстанцию с директивой Cache-Control max-age.

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

Параметры

int $seconds

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

Возвращает

static

withModified() public

withModified(DateTimeInterface|string|int $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'))

Параметры

DateTimeInterface|string|int $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, ответ будет установлен как private.

int|null $time optional

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

Возвращает

static

withSharedMaxAge() public

withSharedMaxAge(int $seconds): static

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

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

Параметры

int $seconds

Количество секунд для общего значения 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

Целое число кода состояния (3 цифры) для установки.

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|null $string): static

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

Параметры

string|null $string

Строка для отправки

Возвращает

static

withType() public

withType(string $contentType): static

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

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

Параметры

string $contentType

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

Возвращает

static

withVary() public

withVary(array<string>|string $cacheVariances): static

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

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

Параметры

array<string>|string $cacheVariances

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

Возвращает

static

withoutHeader() public

withoutHeader(string $name): static

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

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

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

Параметры

string $name

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

Возвращает

static

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

$_cacheDirectives protected

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

Тип

array<string, mixed>

$_charset protected

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

Тип

string

$_cookies protected

Коллекция cookie, которые нужно отправить клиенту

Тип

Cake\Http\Cookie\CookieCollection

$_file protected

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

Тип

SplFileInfo|null

$_fileRange protected

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

Тип

array<int>

$_mimeTypes protected

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

Тип

array<string, mixed>

$_reasonPhrase protected

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

Тип

string

$_status protected

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

Тип

int

$_statusCodes protected

Разрешённые коды состояния HTTP и их описания по умолчанию.

Тип

array<int, string>

$_streamMode protected

Параметры режима потоковой передачи.

Тип

string

$_streamTarget protected

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

Тип

resource|string

$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.4/class-Cake.Http.Response.html

Spec-Zone.ru

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