Sivo 悉见

7.2 模板赋值

匿名 · 更新于 2013/12/26

要在模板中输出变量,必须在在Action类中把变量传递给模板,视图类提供了assign方法对模板变量赋值,无论何种变量类型都统一使用assign赋值。
  1. $this->assign('name',$value);
  2.  // 下面的写法是等效的
  3. $this->name = $value;
系统只会输出设定的变量,其它变量不会输出,一定程度上保证了变量的安全性。

如果要同时输出多个模板变量,可以使用下面的方式:
  1. $array['name']    =    'thinkphp';
  2. $array['email']    =    'liu21st@gmail.com';
  3. $array['phone']    =    '12335678';
  4. $this->assign($array);
这样,就可以在模板文件中同时输出name、email和phone三个变量。
模板变量赋值后,怎么在模板文件中输出,需要根据选择的模板引擎来用不同的方法,如果使用的是内置的模板引擎,请参考后面的模板指南部分。如果你使用的是PHP本身作为模板引擎的话 ,就可以直接在模板文件里面输出了,如下:
  1. <?php 
  2.     echo $name.'['.$email.''.$phone.']';
3
如果要获取全部的模板变量,可以调用View类的get方法支持获取全部模板变量的值,例如:
  1. $this->get('name'); // 获取name模板变量的值
  2. $this->get(); // 获取所有模板赋值变量的值