CakePHP 3.7 -从控制器访问视图变量

mitkmikd  于 2022-11-11  发布在  PHP
关注(0)|答案(2)|浏览(114)

AppController->beforeRender()中,我会检查是否已经设置了一个视图变量,并查看它的值。
在CakePHP 3.7中如何从控制器访问视图变量?
这在以前的$this->viewVars['variable_name']中是可以实现的,但现在已经被弃用了。
我尝试了$this->viewBuilder()->getVars(),但它返回一个空数组,当然还有视图变量。

zdwk9cvp

zdwk9cvp1#

从评论中总结出一个答案:这不是直接可能。
通过viewBuilder()访问变量将不起作用,因为它只在构建视图时接收viewvar。
封装要访问的变量的自定义元素可能是一种解决方案。
最后,我将一些变量设置为默认值:在AppController->initialize()中,视图变量status被设置为"OK",其它控制器和方法然后可以简单地覆盖它。

k4ymrczo

k4ymrczo2#

使用Cakephp 4(我相信它也可以与C3一起使用)

$this->viewVars()['variable_name']

就可以了!

相关问题