0

我想知道是否可以在我设置的控制器中回调一个数组/字符串

$this->set('gainedTotal', $this->Member->Point->gainedTotal());

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

我尝试过类似的东西

$this->request->gainedMonth
4

2 回答 2

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()...etc 添加其他变量或选项——这意味着我需要不止$this->set()一行,并且进一步使我的代码混乱。

于 2013-05-24T13:55:12.910 回答
0

如果您只是想稍后将变量保留在同一个控制器中,我建议您使用该session组件将其存储在 Session 中。

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

稍后阅读:

$this->Session->read('nameOfVariable');
于 2013-05-24T13:57:03.977 回答