我想知道是否可以在我设置的控制器中回调一个数组/字符串
$this->set('gainedTotal', $this->Member->Point->gainedTotal());
我需要在方法中使用后者的值来进行计算。我当然可以将它存储在一个变量中,但我正在尝试保持我的代码简单和干净,所以我想既然它已经存储了,我可以把它回调。
我尝试过类似的东西
$this->request->gainedMonth
我不相信它是可访问的。
我建议按照您提到的路线进行操作,然后创建一个变量:
$gainedTotal = $this->Member->Point->gainedTotal();
$this->set('gainedTotal', $gainedTotal);
您还可以一次“设置”许多变量,这有助于保持代码干净:
$gainedTotal = $this->Member->Point->gainedTotal();
$something = "pizza";
$dessert = "more pizza";
$this->set(compact('gainedTotal', 'something', 'dessert'));
就个人而言,我不喜欢在set()
. 只是看起来逻辑不清晰(个人品味),而且我几乎总是不得不回来为我的find()
...etc 添加其他变量或选项——这意味着我需要不止$this->set()
一行,并且进一步使我的代码混乱。
如果您只是想稍后将变量保留在同一个控制器中,我建议您使用该session
组件将其存储在 Session 中。
$this->Session->write('nameOfVariable', $variable);
稍后阅读:
$this->Session->read('nameOfVariable');