简化PHP代码

时间:2013-12-02 01:48:33

标签: php simplify

我不想仅仅因为这么小的东西声明一个变量..检查出来

$value = $this->getValue(); 
echo $value['Setting']['value'];

/ \ $ this-> getValue()返回一个数组..

有一种方法可以像这样使用: echo $this->getValue()['Setting']['value']; ?感谢

3 个答案:

答案 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'); 
相关问题