Класс Response
Ответы содержат текст ответа, статус и заголовки HTTP-ответа.
Существуют внешние пакеты, такие как fig/http-message-util, которые предоставляют константы кодов статуса HTTP. Их можно использовать с любым методом, принимающим или возвращающим целое число статуса. Имейте в виду, что эти константы могут включать коды статусов, которые сейчас запрещены, что вызовет \InvalidArgumentException.
Константы
-
intSTATUS_CODE_MAX599
-
intSTATUS_CODE_MIN100
Краткое описание свойств
- $_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 Объект запроса
Возвращает
boolcompress() public
compress(): bool
Устанавливает правильный обработчик буферизации вывода для отправки сжатого ответа. Ответы будут сжиматься с помощью zlib, если расширение доступно.
Возвращает
boolcors() public
cors(Cake\Http\ServerRequest $request): Cake\Http\CorsBuilder
Получает экземпляр CorsBuilder для определения заголовков CORS.
Параметры
-
Cake\Http\ServerRequest$request Объект запроса
Возвращает
Cake\Http\CorsBuildergetBody() public
getBody(): StreamInterface
Получает тело сообщения.
Возвращает
StreamInterfacegetCharset() public
getCharset(): string
Возвращает текущую кодировку.
Возвращает
stringgetCookie() public
getCookie(string $name): array|null
Чтение одного куки из ответа.
Этот метод предоставляет чтение ожидаемых куки. Он не будет читать заголовок Set-Cookie если он установлен.
Параметры
-
string$name Имя куки, которое вы хотите прочитать.
Возвращает
array|nullgetCookieCollection() public
getCookieCollection(): Cake\Http\Cookie\CookieCollection
Получить CookieCollection из ответа
Возвращает
Cake\Http\Cookie\CookieCollectiongetCookies() public
getCookies(): array<string, array>
Получить все куки в ответе.
Возвращает ассоциативный массив имя куки => данные куки.
Возвращает
array<string, array>getFile() public
getFile(): SplFileInfo|null
Получить текущий файл, если он существует.
Возвращает
SplFileInfo|nullgetHeader() public
getHeader(string $header): string[]
Получает значение заголовка сообщения по заданному имени, не учитывая регистр.
Этот метод возвращает массив всех значений заголовков заданного имени заголовка, не учитывая регистр.
Если заголовок не найден в сообщении, этот метод должен вернуть пустой массив.
Параметры
-
string$header Имя поля заголовка, не учитывая регистр.
Возвращает
string[]getHeaderLine() public
getHeaderLine(string $name): string
Возвращает строку значений заголовка, разделённых запятыми.
Этот метод возвращает все значения заголовка с заданным, не учитывающим регистр, именем заголовка, как строку, склеенную вместе с помощью запятой.
ПРИМЕЧАНИЕ: не все значения заголовков могут быть корректно представлены с помощью склейки запятыми. В таких случаях используйте getHeader() и предоставьте свой разделитель при склеивании.
Если заголовок не найден в сообщении, этот метод должен вернуть пустую строку.
Параметры
-
string$name Имя поля заголовка, не учитывая регистр.
Возвращает
stringgetHeaders() 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); } }
Возвращает
arraygetMimeType() public
getMimeType(string $alias): array|string|false
Возвращает определение типа MIME для псевдонима
Например getMimeType('pdf'); // returns 'application/pdf'
Параметры
-
string$alias псевдоним типа содержимого для сопоставления
Возвращает
array|string|falsegetProtocolVersion() public
getProtocolVersion(): string
Возвращает версию протокола HTTP в виде строки.
Строка ДОЛЖНА содержать только номер версии HTTP (например, "1.1", "1.0").
Возвращает
stringgetReasonPhrase() public
getReasonPhrase(): string
Получает фразу причины ответа, связанную со статусом.
Поскольку фраза причины не является обязательным элементом в строке статуса ответа, значение фразы причины МОЖЕТ быть null. Реализации МОГУТ выбрать возвращение рекомендуемой фразы причины по RFC 7231 (или тех, которые перечислены в реестре кодов состояния HTTP IANA) для кода состояния ответа.
Возвращает
stringСсылки
https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml
getStatusCode() public
getStatusCode(): int
Получает код состояния ответа.
Код состояния — целое число из 3 цифр, представляющее результат попытки сервера понять и удовлетворить запрос.
Возвращает
intgetType() public
getType(): string
Возвращает текущий тип содержимого.
Возвращает
stringhasHeader() public
hasHeader(string $header): bool
Проверяет, существует ли заголовок по заданному имени, не учитывая регистр.
Параметры
-
string$header Имя заголовка, не учитывая регистр.
Возвращает
boolisNotModified() public
isNotModified(Cake\Http\ServerRequest $request): bool
Проверяет, не был ли ответ изменён в соответствии с заголовками запроса 'If-None-Match' (Etags) и 'If-Modified-Since' (дата последнего изменения).
Чтобы взаимодействовать с этим методом, необходимо пометить ответы как неизменённые. Необходимо установить хотя бы один из заголовков ответа Last-Modified или Etag перед вызовом этого метода. В противном случае сравнение не будет возможным.
Параметры
-
Cake\Http\ServerRequest$request Объект запроса
Возвращает
boolmapType() public
mapType(array|string $ctype): array|string|null
Преобразует тип содержимого обратно в псевдоним
Например mapType('application/pdf'); // returns 'pdf'
Параметры
-
array|string$ctype Строковый тип содержимого для сопоставления или массив типов.
Возвращает
array|string|nullnotModified() public
notModified(): void
Устанавливает ответ как "Не изменён", удаляя содержимое тела, устанавливая код состояния на "304 Не изменён" и удаляя все противоречащие заголовки
Предупреждение Этот метод изменяет ответ на месте и следует избегать его использования.
Возвращает
voidoutputCompressed() public
outputCompressed(): bool
Возвращает, будет ли результирующий вывод сжат PHP
Возвращает
boolresolveType() 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.
Возвращает
voidvalidateFile() protected
validateFile(string $path): SplFileInfo
Проверяет, является ли путь к файлу допустимым телом ответа.
Параметры
-
string$path Путь к файлу.
Возвращает
SplFileInfoВыбрасывает
Cake\Http\Exception\NotFoundExceptionwithAddedHeader() 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.
Возвращает
staticwithBody() 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 действительное время для срока действия кеша
Возвращает
staticwithCharset() public
withCharset(string $charset): static
Получает новый экземпляр с обновлённым набором символов.
Параметры
-
string$charset Строка набора символов.
Возвращает
staticwithCookie() 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
Возвращает
staticwithCookieCollection() public
withCookieCollection(Cake\Http\Cookie\CookieCollection $cookieCollection): static
Получить новую инстанцию с предоставленной коллекцией cookie.
Параметры
-
Cake\Http\Cookie\CookieCollection$cookieCollection Коллекция cookie для установки.
Возвращает
staticwithDisabledCache() public
withDisabledCache(): static
Создать новую инстанцию с заголовками, которые указывают клиенту не кэшировать ответ
Возвращает
staticwithDownload() public
withDownload(string $filename): static
Создать новую инстанцию с установленным заголовком Content-Disposition.
Параметры
-
string$filename Имя файла, которое браузер отобразит при скачивании ответа.
Возвращает
staticwithEtag() public
withEtag(string $hash, bool $weak = false): static
Создать новую инстанцию с установленным заголовком Etag.
Etag — это сильный индикатор того, что клиентом HTTP-клиента может быть кэширован ответ. Плохой способ генерации Etag — это создание хэша выходных данных ответа, вместо этого необходимо создать уникальный хэш уникальных компонентов, которые идентифицируют запрос, таких как время изменения, идентификатор ресурса и всё остальное, что, по вашему мнению, делает ответ уникальным.
Второй параметр используется для информирования клиентов о том, что содержимое изменилось, но семантически он эквивалентен существующим кэшированным значениям. Рассмотрим страницу со счётчиком посещений, два разных просмотра страницы эквивалентны, но отличаются на несколько байтов. Это позволяет клиенту решить, использовать ли кэшированные данные.
Параметры
-
string$hash Уникальный хэш, идентифицирующий этот ответ
-
bool$weak optional Указывает, является ли содержимое ответа семантически таким же, как и другие с тем же хэшем. По умолчанию false
Возвращает
staticwithExpiredCookie() 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
Возвращает
staticwithExpires() 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.
Возвращает
staticwithFile() 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\NotFoundExceptionwithHeader() 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 Количество байтов
Возвращает
staticwithLocation() public
withLocation(string $url): static
Возвратить инстанцию с обновлённым заголовком location.
Если текущий код состояния равен 200, он будет изменён на 302.
Параметры
-
string$url Адрес переадресации.
Возвращает
staticwithMaxAge() public
withMaxAge(int $seconds): static
Создать инстанцию с директивой Cache-Control max-age.
max-age — это количество секунд, по истечении которых ответ больше не должен считаться хорошим кандидатом для извлечения из локального (клиентского) кэша.
Параметры
-
int$seconds Количество секунд, в течение которых кэшированный ответ считается действительным
Возвращает
staticwithModified() 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.
Возвращает
staticwithMustRevalidate() public
withMustRevalidate(bool $enable): static
Создать инстанцию с директивой Cache-Control must-revalidate.
Устанавливает директиву Cache-Control must-revalidate. must-revalidate указывает, что ответ не должен быть предоставлен устаревшим кэшем при каких-либо обстоятельствах без предварительной проверки с источником.
Параметры
-
bool$enable Если булево значение устанавливает или отменяет директиву.
Возвращает
staticwithNotModified() public
withNotModified(): static
Создать новую инстанцию как «не изменённый»
Это удалит любое содержимое тела, установит код состояния на «304» и удалит заголовки, описывающие тело ответа.
Возвращает
staticwithProtocolVersion() public
withProtocolVersion(string $version): static
Возвратить инстанцию со указанной версией HTTP протокола.
Строка версии ДОЛЖНА содержать только номер версии HTTP (например, "1.1", "1.0").
Этот метод ДОЛЖЕН быть реализован таким образом, чтобы сохранить неизменяемость сообщения, и ДОЛЖЕН вернуть инстанцию с новой версией протокола.
Параметры
-
string$version Версия HTTP протокола
Возвращает
staticwithSharable() 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 Время в секундах, после которого ответ больше не должен считаться актуальным.
Возвращает
staticwithSharedMaxAge() public
withSharedMaxAge(int $seconds): static
Создать новый экземпляр с директивой Cache-Control s-maxage.
Значение max-age — это количество секунд после которого ответ больше не должен рассматриваться как хороший кандидат для извлечения из общего кэша (например, в прокси-сервере).
Параметры
-
int$seconds Количество секунд для общего значения max-age
Возвращает
staticwithStatus() 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://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml
withStringBody() public
withStringBody(string|null $string): static
Удобный метод для установки строки в тело ответа
Параметры
-
string|null$string Строка для отправки
Возвращает
staticwithType() public
withType(string $contentType): static
Получить обновлённый ответ с установленным типом содержимого.
Если вы попытаетесь установить тип для ответа со статусом 304 или 204, тип содержимого не повлияет, так как эти коды состояния не имеют типов содержимого.
Параметры
-
string$contentType Расширение файла, которое будет сопоставлено с типом MIME, или конкретный тип MIME.
Возвращает
staticwithVary() public
withVary(array<string>|string $cacheVariances): static
Создать новый экземпляр с установленным заголовком Vary.
Если передаётся массив, значения будут объединены в строку, разделённую запятыми. Если не переданы параметры, возвращается массив с текущим значением заголовка Vary.
Параметры
-
array<string>|string$cacheVariances Одна строка Vary или массив, содержащий список вариаций.
Возвращает
staticwithoutHeader() 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