将变量从控制器传递到Yii中的视图

时间:2012-03-04 01:47:50

标签: yii

我不能在相应的视图中使用控制器中指定的变量。这是我的代码:

public function actionHelloWorld()
    {

        $this->render('helloWorld',array('var'=>'this is me'));
    }

在helloWorld.php(查看文件)中:

<h1>Hello, World!</h1>
<h3><?php echo $var; ?></h3>

它只打印出“Hello,World!”,看起来在视图中无法访问$ var。任何人吗?

2 个答案:

答案 0 :(得分:5)

“var”是PHP中的保留字,因此您无法将该名称用于变量。请参阅:http://www.php.net/manual/en/reserved.keywords.php

尝试使用其他变量名称,它应该有效。

答案 1 :(得分:4)

应该可行,但除了&#39; var&#39;

之外的任何变量名称

请注意&#39;这个&#39;在视图中引用其控制器,因此如果控制器中有公共成员变量或方法,则可以从视图中访问它:

MyController.php:

class MyController extends CController{
  public $foo = 'bar';

  public function actionIndex(){
    $this->render('index');
  }
}

的index.php:

<?php 

echo $this->foo; //result is bar

?>