Cakephp - 一个可在视图和控制器中访问的变量

时间:2013-03-01 23:10:09

标签: cakephp variables global

我想定义一个我可以在AppController和默认布局中使用的数组。

我怎么能在CakePHP中做到这一点?

3 个答案:

答案 0 :(得分:24)

$this->set('arr', array('one', 'two'));

// Accessible in controller as 
$this->viewVars['arr'];

// Accessible in view/layout as
echo $arr;

答案 1 :(得分:2)

如果在AppController beforeRender()函数中设置任何变量,并设置该变量,那么您可以在视图文件中的任何位置轻松访问该变量

function beforeRender() {
    parent::beforeRender();
    $sample_arr = array("abc","xyz");
    $this->set('sample_arr',$sample_arr);
}

在您的布局文件中打印该数组,如

print_r($sample_arr);

答案 2 :(得分:0)

从这里开始:

cakephp set function

// First you pass data from the controller:

$this->set('color', 'pink');

// Then, in the view, you can utilize the data:
?>

You have selected <?php echo $color; ?> icing for the cake.

所以适合你的情况:

$arr = array('stuff', 'more stuff');

$this->set('arr', $arr);

// then in the layout
print_r($arr);