Заголовки (header)

Заголовки клиента

Узнать заголовки, которые отправил пользователь, можно через свойство Yii::$app->request->headers.

// объект с заголовками
Yii::$app->request->headers;

// выбрать нужный заголовок
Yii::$app->request->headers->get('User-Agent');

Проверить на существование заголовка можно через метод has().

// проверить, что заголовок передан
Yii::$app->request->headers->has('Accept');

Заголовки сервера

Указать статус текущей страницы можно через свойство Yii::$app->response->statusCode.

Yii::$app->response->statusCode = 404;

Указать тип страницы можно через свойство Yii::$app->response->format.

// JSON
Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;

// XML
Yii::$app->response->format = \yii\web\Response::FORMAT_XML;

Добавить заголовок

Добавить, обновить и удалить заголовок можно через метод Yii::$app->response.

// Добавить заголовок
Yii::$app->response->headers->add('Id', '154');

// Обновить заголовок
Yii::$app->response->headers->set('Id', '157');

// Удалить заголовок
Yii::$app->response->headers->remove('Id');

Метод add() не обновляет текущий заголовок, т.е. повторный вызов создаст ещё один заголовок с тем же именем.

Метод set() создаёт заголовок, если он не был создан.

Данные методы не затрагивают заголовки по умолчанию, например «Content-Type».