Представление элемента не работает в контроллере в CakePHP 4.x

#cakephp #controller #cakephp-4.x

#cakephp #контроллер #cakephp-4.x

Вопрос:

Как и на CakePHP 3.x, $this->view работает должным образом в контроллере.

После перехода на версию CakePHP 4.x, похоже, это не работает. Не могу найти никакой документации по CakeBook 4.x.

Есть ли какие-либо изменения синтаксиса в CakePHP 4.x для $this->view или он устарел в более новой версии??

Комментарии:

1. На будущее убедитесь, что ваш код должным образом охвачен тестами, и что сначала вы обновляетесь до последней версии используемой в настоящее время основной версии, устраняете все предупреждения об устаревании, а затем обновляетесь до новой основной версии.

Ответ №1:

Начиная с CakePHP 3.1, свойство контроллера $view устарело.

https://book.cakephp.org/3/en/appendices/3-1-migration-guide.html#controller

представление — заменено шаблоном

В CakePHP 4.x используйте $this->viewBuilder() для настройки и получения параметров просмотра:

https://book.cakephp.org/4/en/controllers.html#setting-view-options
https://book.cakephp.org/4/en/search.html?check_keywords=yesamp;area=defaultamp;q=viewBuilder