一个很奇怪的问题,控制器里的属性在模板上显示不出来

#1 freeman9981

在写控制器里代码的时候本着先声明后使用的原则写了一段代码,结果发现模板里的变量并没有被输出,很是奇怪
class  main extend spController{
   var $test1;
   public $test2;
   function index(){
        $this->test1="hello world";
        $this->test2="hello speedphp";
        $this->test3="speedPHP";$this->display("index.html");
   }
}


index.html代码
<{$test1}>


<{$test2}>


<$test3>

结果只输出speedPHP!


问题:为什么都是类的属性先声明后就不能使用呢?

2010-12-27 12:58:58

#2 jake的马甲

是这样没错,定义好的控制器成员变量是控制器的变量,只是在控制器内部使用。而通过$this->发送到模板的变量是模板变量,可以在模板和控制器里面一同使用。

2010-12-27 13:27:50