在AppController->beforeRender()
内部,我将检查是否已设置视图变量并查看其值。
如何在CakePHP 3.7中从控制器访问视图变量?
以前$this->viewVars['variable_name']
可以使用此功能,但已弃用。
我尝试了$this->viewBuilder()->getVars()
,但是返回的是一个空数组,当然还有视图变量。
答案 0 :(得分:0)
从评论中总结一个答案:这不可能直接实现。
通过viewBuilder()
访问变量将不起作用,因为它仅在构建视图时才接收viewvar。
封装要访问的变量的自定义元素可能是解决方案。
最后,我将一些变量设置为默认值:在AppController->initialize()
中,将视图变量status
设置为"OK"
,然后其他控制器和方法可以简单地覆盖它。