我不想只为这么小的东西声明变量。看看这个
$value = $this->getValue();
echo $value['Setting']['value'];
/\ $this->getValue()返回一个数组。
有一种方法可以这样使用:echo $this->getValue()['Setting']['value'];
?谢谢
发布于 2013-12-01 17:59:26
在getValue();
函数上,确保返回$value['Setting']['value']
,以便在调用函数上只执行echo $value;
例如,我的控制器中有这样的内容:
public function myFunction(){
...
$value = $this->MyModel->getName($id);
$this->set('value', $value);
}
...and --我在我的模型中使用它来获取名称值:
public function getName($id){
$value = $this->find('first', array(
'conditions' => array(
'id' => $id
)
));
return $value['MyModel']['name'];
}
因此,在您看来,您可以这样做:
echo $value;
发布于 2013-12-01 17:55:35
您可以在PHP 5.4中这样做。它被称为https://wiki.php.net/rfc/functionarraydereferencing。如果你用的是<5.4,那你就倒霉了。
不过,这并不是一个真正重要的问题。这可能有点烦人,但它并不是世界末日。
发布于 2013-12-01 17:57:11
看看蛋糕核心里的所有类都是怎么做的。配置::read()、CakeSession::read()、$this->request->query()、$this->request->data()等等。它们都可以通过点语法返回值。所以你在这里也可以。
所以最后你可以说:
echo $this->getValue('Setting.value');
https://stackoverflow.com/questions/20319617
复制相似问题