A free and open-source book on ZF3 for beginners


4.6. Ввод данных в 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');

Top