Skip to content

Instantly share code, notes, and snippets.

@FoggyK
Last active August 21, 2017 06:00
Show Gist options
  • Save FoggyK/419faa4016ea240f8b746fb71e2fb2f9 to your computer and use it in GitHub Desktop.
Save FoggyK/419faa4016ea240f8b746fb71e2fb2f9 to your computer and use it in GitHub Desktop.

Ввод данных в HTTP-ответ

Хотя вы редко взаимодействуете с данными HTTP-ответа (response) напрямую, вы можете сделать это с помощью метода getResponse() из базового класса AbstractActionController. Метод getResponse() возвращает экземпляр класса Zend\Http\PhpEnvironment\Response. Таблица 4.4 содержит самые важные методы этого класса:

Таблица 4.4. Методы класса Zend\Http\PhpEnvironment\Response.
Имя метода Описание
fromString($string) Заполняет объект ответа из строки.
toString() Конвертирует объект запроса в строку.
setStatusCode($code) Устанавливает код состояния HTTP и (опционально) сообщение (status message).
getStatusCode() Извлекает код состояния HTTP
setReasonPhrase($reasonPhrase) Устанавливает HTTP сообщение (status message).
getReasonPhrase() Возвращает HTTP сообщение (status message).
isForbidden() Проверяет код ответа на 403 Forbidden.
isNotFound() Проверяет, указывает ли код состояния на то, что ресурс не найден (код состояния 404).
isOk() Проверяет успешность ответа.
isServerError() Проверяет ответ на код состояния 5xx.
isRedirect() Проверяет, является ли ответ 303 Redirect.
isSuccess() Проверяет, является ли ответ 200 Successful.
setHeaders(Headers $headers) Позволяет устанавливать заголовки ответа.
getHeaders() Возвращает список заголовков ответа.
getCookie() Извлекает заголовок Куки.
setContent($value) Устанавливает необработанное содержимое ответа.
getContent() Возвращает необработанное содержимое ответа.
getBody() Получает и декодирует содержимое ответа.

Например, используйте следующий код, чтобы установить код состояния 404 для ответа:

$this->getResponse()->setStatusCode(404);

Используйте следующий код, чтобы добавить заголовок (header) в HTTP-ответ:

$headers = $this->getResponse()->getHeaders();
$headers->addHeaderLine(
             "Content-type: application/octet-stream");

Используйте следующий код, чтобы установить содержимое (content) HTTP-ответа:

$this->getResponse()->setContent('Some content');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment