我不想仅仅因为这么小的东西声明一个变量..检查出来
$value = $this->getValue();
echo $value['Setting']['value'];
/ \ $ this-> getValue()返回一个数组..
有一种方法可以像这样使用:
echo $this->getValue()['Setting']['value'];
?感谢
答案 0 :(得分:4)
您可以在PHP 5.4中执行此操作。它被称为Function Array Dereferencing。如果你使用< 5.4那么你运气不好。
但这并不是一个真正重要的问题。它可能有点烦人,但它不是世界末日。
答案 1 :(得分:2)
在getValue();
功能上,请务必返回$value['Setting']['value']
,以便在您的通话功能上执行echo $value;
例如,我在我的控制器中有这个:
public function myFunction(){
...
$value = $this->MyModel->getName($id);
$this->set('value', $value);
}
...我在我的模型中有这个以获取名称值:
public function getName($id){
$value = $this->find('first', array(
'conditions' => array(
'id' => $id
)
));
return $value['MyModel']['name'];
}
...在您看来,您可以这样做:
echo $value;
答案 2 :(得分:0)
看看蛋糕核心中的所有类是如何做到的。配置:: read(),CakeSession :: read(),$ this-> request-> query(),$ this-> request-> data()等。它们都能够通过点语法。所以你也可以在这里。
所以最后你可以说:
echo $this->getValue('Setting.value');