繁体   English   中英

简化PHP代码

[英]Simplify PHP Code

我不想为一个很小的东西声明一个变量。

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

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

有这样一种用法: echo $this->getValue()['Setting']['value']; 谢谢

您可以在PHP 5.4中做到这一点。 这称为函数数组解引用 如果您使用<5.4,则说明您不走运。

但是,这并不是真正重要的问题。 这可能有点烦人,但这不是世界末日。

在您的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;

看一下蛋糕核心中的所有类都做了多少。 配置:: read(),CakeSession :: read(),$ this-> request-> query(),$ this-> request-> data()等。它们都能够通过点语法返回该值。 因此,您也可以在这里。

所以最后您可以说:

echo $this->getValue('Setting.value'); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM