Вы не должны выводить какие-либо данные в вашем действии контроллера - это означает, что вы не должны использовать echo
, header()
или любую функцию или конструкцию, которая возвращала бы что-либо в браузер. В противном случае вы увидите ошибку «заголовки уже отправлены».
Если вы хотите установить заголовки, вы должны использовать withHeader()
или withAddedHeader()
методы Cake\Http\Response
.
Для кодов состояния у вас также есть метод withStatus()
:
$response = $this->response;
$response = $response->withStatus(200,"OK");
return $response; // returning response will stop controller from rendering a view.
Подробнее о настройке заголовков можно найти в документации:
Настройка заголовков ответов в CakePHP 3
Cake \ Http \ Response :: withStatus ()