cakephp在控制器中调用set数组

时间:2013-05-24 13:51:21

标签: php cakephp

我想知道是否可以在我使用

设置的控制器中回调一个数组/字符串
$this->set('gainedTotal', $this->Member->Point->gainedTotal());

我需要在方法中使用后一个值来进行计算。我当然可以将它存储在变量中,但我正在尝试保持我的代码简单和干净,所以我在想,因为它已经存储了,我可以回调它。

我尝试过像

这样的事情
$this->request->gainedMonth

2 个答案:

答案 0 :(得分:2)

我不相信它是可以访问的。

我建议你按照你提到的路线来做,然后创建一个变量:

$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()等添加其他变量或选项 - 这意味着我需要不止一个{{1}行,并进一步混乱我的代码。

答案 1 :(得分:0)

如果您只想将变量保留在同一控制器中,我建议您使用session组件将其存储在会话中。

$this->Session->write('nameOfVariable', $variable);

稍后阅读:

$this->Session->read('nameOfVariable');