内置模板引擎对模板变量的支持相当充分,除了可以输出正常变量外,还可以输出特殊变量和对输出变量使用
函数定义(并支持多个
函数)。
模板变量的标签格式为
格式:{$varname|function1|function2=arg1,arg2,### } 
说明: 
{ 和 $ 符号之间不能有空格 ,后面
参数的空格就没有问题
###表示模板变量本身的
参数位置 
支持多个
函数,
函数之间支持空格 
支持
函数屏蔽功能,在配置文件中可以配置禁止使用的
函数列表 
支持变量缓存功能,重复变量字串不多次解析
使用例子: 
代码: 
复制内容到剪贴板 
- {$webTitle|md5| strtoupper |  substr=0,3  }
- {
 $number|number_format=2  } 
  如果在应用
Action中需要输出某个变量,使用下面的方法: 
代码: 
复制内容到剪贴板 
- $this->assign('name','value');
 
  系统只会输出设定的变量,其它变量不会输出,一定程度上保证了变量的安全性。
系统支持输出数组和对象属性,无论要输出的模板变量是数组还是对象,都可以用下列方式输出: 
系统会自动判断要输出的变量,如果是多维数组或者多层对象属性的输出,请使用下面的定义方式: 
代码: 
复制内容到剪贴板 
- {$user['sub']['name']}
- {
 $user:sub:name} 
  如果要同时输出多个模板变量,可以使用下面的方式: 
代码: 
复制内容到剪贴板 
- $array = array();
$array['name']    =    'thinkphp';
$array['email']    =    'liu21st@gmail.com';
$array['phone']    =    '12335678';
$this->assign($array); 
  这样,就可以在模板文件中同时输出name、email和phone三个变量。
除了常规变量的输出外,模板引擎还支持系统变量和系统常量、以及系统特殊变量的输出。它们的输出不需要对模板变量赋值。
系统变量(依然支持
函数使用和大小写、空格),以Think.打头,如 
代码: 
复制内容到剪贴板 
- {$Think.server.script_name } //取得$_SERVER变量
{$Think.session.session_id|md5 } // 获取$_SESSION变量
{$Think.get.pageNumber } //获取$_GET变量
{$Think.cookie.name }  //获取$_COOKIE变量 
  系统常量 
代码: 
复制内容到剪贴板 
- {$Think.const.__FILE__ } 
- {
 $Think.const.MODULE_NAME } 
  特殊变量 ,由ThinkPHP系统定义的常量 
代码: 
复制内容到剪贴板 
- {$Think.version }  //版本 
{$Think.now } //现在时间 
{$Think.template|basename } //模板页面 
{$Think.LDELIM } //模板标签起始符号 
{$Think.RDELIM } //模板标签结束符号 
  配置
参数 
语言变量 
还有一些常用的变量输出快捷标签,包括下面: 
代码: 
复制内容到剪贴板 
- {:function(…)} //执行方法并输出返回值
{~function} //执行方法不输出
{@var} //输出Session变量
{&var} //输出配置参数
{%var} //输出语言变量
{.var} //输出GET变量
{^var} //输出POST变量
{*var} //输出常量