【发布时间】:2019-01-11 13:42:04
【问题描述】:
在AppController->beforeRender()里面我会检查一个视图变量是否已经设置并查看它的值。
如何在 CakePHP 3.7 中从控制器访问视图变量?
这曾经可以通过 $this->viewVars['variable_name'] 实现,但已被弃用。
我试过$this->viewBuilder()->getVars(),但它返回一个空数组,当然还有视图变量。
【问题讨论】:
-
视图构建器仅在构建视图时接收变量,直到那时它们仅存在于
$viewVars属性中。为什么你需要从控制器访问视图变量?对于您试图解决的任何问题,也许有更好的解决方案。 -
基本上,我希望视图变量在尚未设置时回退到默认值。例如。根据是否存在“错误”变量来管理“状态”变量。
-
如果这是您在很多视图中都需要的东西,也许封装该逻辑的元素是要走的路?
-
是的,我想我最好实现类似的东西。
标签: variables cakephp view cakephp-3.0