CakePHP中的控制器宽阵列/功能

时间:2011-06-15 11:50:27

标签: php cakephp

我有一个在多个屏幕上运行的本地应用程序,我正在转移到cakePHP。每个屏幕代表一条生产线的不同视图,每个屏幕上都有多个项目。

我需要提供某种控制器范围的函数或数组来定义我的应用程序的结构,但我不确定这样做的最佳方法。由于它仅用于一个控制器,因此创建全局项似乎过多。我想我可以在一个函数之外的控制器中包含一个简单的数组,并在每个函数中使用它。由于某些原因,这不起作用(可能是一个很好的理由)。

$structure = array(
    'stage_1'=>array('duration'=>5,'temperature'=>293),
    'stage_2'=>array('duration'=>8, 'temperature=>'280),
    'stage_3'=>array('duration'=>3,'temperature'=>283)
);

那么......创建一个可以在控制器视图函数中引用的控制器宽数组或函数的最佳方法是什么?

1 个答案:

答案 0 :(得分:2)

您忘记了var关键字或没有使用$this->structure来调用变量。

class ExamplesController extends AppController {
    var $name = 'Examples';

    var $structure = array(
        'stage_1'=>array('duration'=>5,'temperature'=>293),
        'stage_2'=>array('duration'=>8, 'temperature=>'280),
        'stage_3'=>array('duration'=>3,'temperature'=>283)
    );

    function action() {
        $this->set( 'structure', $this->structure );
    }
}

在使用CakePHP进行开发时,您可能会发现在PHP中阅读面向对象编程很有帮助。