Класс Response
Ответы содержат текст ответа, статус и заголовки HTTP-ответа.
Существуют внешние пакеты, такие как fig/http-message-util, которые предоставляют константы кодов статуса HTTP. Их можно использовать с любым методом, принимающим или возвращающим целое число статуса. Имейте в виду, что эти константы могут включать коды статусов, которые сейчас запрещены, что вызовет \InvalidArgumentException.
Константы
-
intSTATUS_CODE_MAX599
-
intSTATUS_CODE_MIN100
Краткое описание свойств
- $_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 Объект запроса
Возвращаемое значение
boolcompress() public
compress(): bool
Устанавливает правильный обработчик буферизации вывода для отправки сжатого ответа. Ответы будут сжиматься с помощью zlib, если расширение доступно.
Возвращаемое значение
boolcors() 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\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
Получить все куки в ответе.
Возвращает ассоциативный массив имя куки => данные куки.
Возвращаемое значение
arraygetFile() 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): string|array|false
Возвращает определение типа MIME для псевдонима
Например, getMimeType('pdf'); // returns 'application/pdf'
Параметры
-
string$alias псевдоним типа содержимого для сопоставления
Возвращает
string|array|falsegetProtocolVersion() public
getProtocolVersion(): string
Возвращает версию протокола HTTP в виде строки.
Строка ДОЛЖНА содержать только номер версии HTTP (например, "1.1", "1.0").
Возвращает
stringgetReasonPhrase() public
getReasonPhrase(): string
Получает фразу причины ответа, связанную с кодом состояния.
Поскольку фраза причины не является обязательным элементом в строке состояния ответа, значение фразы причины МОЖЕТ быть null. Реализации МОГУТ выбрать возврат рекомендуемой RFC 7231 фразы причины (или тех, которые перечислены в реестре кодов состояния HTTP IANA) для кода состояния ответа.
Возвращает
stringСсылки
http://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 Имя заголовка (регистронезависимое).
Возвращает
boolmapType() public
mapType(string|array $ctype): string|array|null
Преобразует тип содержимого обратно в псевдоним
Например, mapType('application/pdf'); // returns 'pdf'
Параметры
-
string|array$ctype Строка типа содержимого для сопоставления или массив типов.
Возвращает
string|array|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, string|array $mimeType): void
Добавляет определение типа содержимого в карту.
Например: setTypeMap('xhtml', ['application/xhtml+xml', 'application/xhtml'])
Это необходимо для RequestHandlerComponent и распознавания типов.
Параметры
-
string$type Тип содержимого.
-
string|array$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 $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.
Возвращает
staticwithBody() 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 необязательно действительная дата истечения срока действия кэша
Возвращает
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 Является ли ответ семантически таким же, как и другие с тем же хэшем, или нет. По умолчанию ложь.
Возвращает
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(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.
Возвращает
staticwithFile() public
withFile(string $path, array $options = []): static
Создать новый экземпляр, основанный на файле.
Этот метод будет дополнять как тело, так и ряд связанных заголовков.
Если $_SERVER['HTTP_RANGE'] задан, вместо всего файла будет возвращён фрагмент файла.
Ключи опций
- name: Альтернативное имя загрузки
- download: Если
trueустанавливает заголовок загрузки и принудительно загружает файл, а не отображает его внутри.
Параметры
-
string$path Абсолютный путь к файлу.
-
array$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(int|string $bytes): static
Создать новый ответ с установленным заголовком Content-Length.
Параметры
-
int|string$bytes Количество байтов
Возвращает
staticwithLocation() public
withLocation(string $url): static
Возвращает экземпляр с обновлённым заголовком расположения.
Если текущий код состояния равен 200, он будет заменён на 302.
Параметры
-
string$url Расположение для перенаправления.
Возвращает
staticwithMaxAge() public
withMaxAge(int $seconds): static
Создать экземпляр с директивой Cache-Control max-age.
max-age — это количество секунд после которого ответ больше не считается хорошим кандидатом для извлечения из локального (клиентского) кэша.
Параметры
-
int$seconds Секунды, в течение которых кэшированный ответ может считаться действительным.
Возвращает
staticwithModified() 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.
Возвращает
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 – response будет установлен как private.
-
int|null$time optional Время в секундах, после которого ответ больше не должен считаться свежим.
Возвращаемое значение
staticwithSharedMaxAge() public
withSharedMaxAge(int $seconds): static
Создать новый экземпляр с директивой Cache-Control s-maxage.
max-age – количество секунд, после которого ответ больше не должен считаться подходящим для извлечения из общего кэша (например, в прокси-сервере).
Параметры
-
int$seconds Количество секунд для shared 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 Трехзначный целочисленный код состояния для установки.
-
string$reasonPhrase optional Фраза причины для использования с предоставленным кодом состояния; если она не предоставлена, реализации МОГУТ использовать значения по умолчанию, как предложено в спецификации HTTP.
Возвращаемое значение
staticИсключения
InvalidArgumentExceptionДля некорректных аргументов кода состояния.
Ссылки
https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml
withStringBody() public
withStringBody(string $string): static
Метод для удобства установки строки в тело ответа
Параметры
-
string$string Строка, которая должна быть отправлена
Возвращаемое значение
staticwithType() public
withType(string $contentType): static
Получить обновлённый ответ с установленным типом содержимого.
Если вы попытаетесь установить тип для ответа со статусом 304 или 204, тип содержимого не будет учтён, так как эти коды состояния не имеют типов содержимого.
Параметры
-
string$contentType Расширение файла, которое будет сопоставлено с MIME-типом, или конкретный MIME-тип.
Возвращаемое значение
staticwithVary() public
withVary(string|array $cacheVariances): static
Создать новый экземпляр с установленным заголовком Vary.
Если передан массив, значения будут объединены в строку, разделённую запятыми. Если не переданы параметры, возвращается массив с текущим значением заголовка Vary.
Параметры
-
string|array$cacheVariances Одна строка Vary или массив, содержащий список вариаций.
Возвращаемое значение
staticwithoutHeader() 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