Класс 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<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
Проверяет, не был ли ответ изменён в соответствии с заголовками запроса '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<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
Получить все куки в ответе.
Возвращает ассоциативный массив имя куки => данные куки.
Возвращает
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); } }
Returns
arraygetMimeType() public
getMimeType(string $alias): array|string|false
Возвращает определение типа mime для псевдонима
например getMimeType('pdf'); // returns 'application/pdf'
Parameters
-
string$alias псевдоним типа контента для сопоставления
Returns
array|string|falsegetProtocolVersion() public
getProtocolVersion(): string
Извлекает версию протокола HTTP в виде строки.
Строка ДОЛЖНА содержать только номер версии HTTP (например, "1.1", "1.0").
Returns
stringgetReasonPhrase() public
getReasonPhrase(): string
Получает фразу причины ответа, связанную с кодом состояния.
Поскольку фраза причины не является обязательным элементом в строке состояния ответа, значение фразы причины МОЖЕТ быть null. Реализации МОГУТ выбрать возвращение рекомендуемой по умолчанию фразы причины RFC 7231 (или тех, которые перечислены в реестре кодов состояния HTTP IANA) для кода состояния ответа.
Returns
stringLinks
http://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml
getStatusCode() public
getStatusCode(): int
Получает код состояния ответа.
Код состояния — это 3-значный целочисленный код результата попытки сервера понять и удовлетворить запрос.
Returns
intgetType() public
getType(): string
Возвращает текущий тип контента.
Returns
stringhasHeader() public
hasHeader(string $header): bool
Проверяет, существует ли заголовок с заданным именем без учёта регистра.
Parameters
-
string$header Имя заголовка без учёта регистра.
Returns
boolmapType() public
mapType(array|string $ctype): array|string|null
Сопоставляет тип контента обратно с псевдонимом
например mapType('application/pdf'); // returns 'pdf'
Parameters
-
array|string$ctype Либо строка типа контента для сопоставления, либо массив типов.
Returns
array|string|nullnotModified() public
notModified(): void
Устанавливает ответ как «Не изменен», удаляя любое содержимое тела, устанавливая код состояния в «304 Не изменен» и удаляя все конфликтующие заголовки
Предупреждение Этот метод изменяет ответ на месте и следует избегать его использования.
Returns
voidoutputCompressed() public
outputCompressed(): bool
Возвращает, будет ли результирующий вывод сжат PHP
Returns
boolresolveType() protected
resolveType(string $contentType): string
Преобразует и проверяет типы контента.
Parameters
-
string$contentType Тип контента или псевдоним типа.
Returns
stringThrows
InvalidArgumentExceptionКогда используется недопустимый тип контента или псевдоним.
setTypeMap() public
setTypeMap(string $type, array<string>|string $mimeType): void
Устанавливает определение типа контента в карту.
Например: setTypeMap('xhtml', ['application/xhtml+xml', 'application/xhtml'])
Это необходимо для RequestHandlerComponent и распознавания типов.
Parameters
-
string$type Тип контента.
-
array<string>|string$mimeType Определение типа mime.
Returns
voidvalidateFile() protected
validateFile(string $path): SplFileInfo
Проверяет, является ли путь к файлу допустимым телом ответа.
Parameters
-
string$path Путь к файлу.
Returns
SplFileInfoThrows
Cake\Http\Exception\NotFoundExceptionwithAddedHeader() public
withAddedHeader(string $name, string|string[] $value): static
Возвращает экземпляр с добавленным указанным заголовком со значением.
Существующие значения для указанного заголовка будут сохранены. Новое значение(я) будет(ут) добавлено(ы) к существующему списку. Если заголовка ранее не существовало, он будет добавлен.
Этот метод ДОЛЖЕН быть реализован таким образом, чтобы сохранить неизменяемость сообщения и ДОЛЖЕН возвращать экземпляр, содержащий новый заголовок и/или значение.
Parameters
-
string$name Имя поля заголовка без учёта регистра для добавления.
-
string|string[]$value Значение(я) заголовка.
Returns
staticThrows
Exception\InvalidArgumentExceptionДля недопустимых имён или значений заголовков.
withAddedLink() public
withAddedLink(string $url, array<string, mixed> $options = []): static
Создает новый ответ с установленным заголовком Link.
Examples
$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"
Parameters
-
string$url URL LinkHeader.
-
array<string, mixed>$options optional Параметры LinkHeader.
Returns
staticwithBody() public
withBody(StreamInterface $body): static
Возвращает экземпляр с указанным телом сообщения.
Тело ДОЛЖНО быть объектом StreamInterface.
Этот метод ДОЛЖЕН быть реализован таким образом, чтобы сохранить неизменяемость сообщения, и ДОЛЖЕН возвращать новый экземпляр, содержащий новый поток тела.
Parameters
-
StreamInterface$body Тело.
Returns
staticThrows
Exception\InvalidArgumentExceptionКогда тело недействительно.
withCache() public
withCache(string|int $since, string|int $time = '+1 day'): static
Создает новый экземпляр с заголовками для включения кэширования клиентом.
Parameters
-
string|int$since действительное время с момента, когда текст ответа не был изменен
-
string|int$time optional действительное время истечения срока действия кэша
Returns
staticwithCharset() public
withCharset(string $charset): static
Получает новый экземпляр с обновленной кодировкой.
Parameters
-
string$charset Строка кодировки.
Returns
staticwithCookie() public
withCookie(Cake\Http\Cookie\CookieInterface $cookie): static
Создает новый ответ с установленным cookie.
Example
// add a cookie object
$response = $response->withCookie(new Cookie('remember_me', 1)); Parameters
-
Cake\Http\Cookie\CookieInterface$cookie объект cookie
Returns
staticwithCookieCollection() public
withCookieCollection(Cake\Http\Cookie\CookieCollection $cookieCollection): static
Получить новый экземпляр с предоставленной коллекцией куки.
Параметры
-
Cake\Http\Cookie\CookieCollection$cookieCollection Коллекция куки для установки.
Возвращает
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
Создать новый ответ с установленной истекшей куки.
Пример
// add a cookie object
$response = $response->withExpiredCookie(new Cookie('remember_me')); Параметры
-
Cake\Http\Cookie\CookieInterface$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
Возвратить экземпляр с обновлённым заголовком местоположения.
Если текущий код состояния — 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 Если boolean устанавливает или отменяет директиву.
Возвращает
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 Количество секунд для 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 Целое число кода состояния (3 цифры) для установки.
-
string$reasonPhrase необязательно Фраза причины, используемая с указанным кодом состояния; если не указана, реализации МОГУТ использовать значения по умолчанию, как предложено в спецификации 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$_charset protected
Кодировка символов тела ответа.
Тип
string$_cookies protected
Коллекция куки-файлов для отправки клиенту.
Тип
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.3/class-Cake.Http.Response.html