8.3 使用函数
匿名 · 更新于 2013/12/26
仅仅是输出变量并不能满足模板输出的需要,内置模板引擎支持对模板变量使用调节器和格式化功能,其实也就是提供函数支持,并支持多个函数同时使用。用于模板标签的函数可以是PHP内置函数或者是用户自定义函数,和smarty不同,用于模板的函数不需要特别的定义。
模板变量的函数调用格式为:
{ 和 $ 符号之间不能有空格 ,后面参数的空格就没有问题
###表示模板变量本身的参数位置
支持多个函数,函数之间支持空格
支持函数屏蔽功能,在配置文件中可以配置禁止使用的函数列表
支持变量解析缓存功能,重复变量字串不多次解析
使用例子:
模板变量的函数调用格式为:
{$varname|function1|function2=arg1,arg2,### }
{ 和 $ 符号之间不能有空格 ,后面参数的空格就没有问题
###表示模板变量本身的参数位置
支持多个函数,函数之间支持空格
支持函数屏蔽功能,在配置文件中可以配置禁止使用的函数列表
支持变量解析缓存功能,重复变量字串不多次解析
使用例子:
{$webTitle|md5|strtoupper|substr=0,3}
<?php echo (substr(strtoupper(md5($webTitle)),0,3)); ?>
{$create_time|date="y-m-d",###}
<?php echo (date("y-m-d",$create_time)); ?>
TMPL_DENY_FUNC_LIST=>"echo,exit,halt"
3
并且还提供了在模板文件中直接调用函数的快捷方法,这种方式更加直接明了,而且无需通过模板变量,包括两种方式:
1、执行函数并输出返回值:
格式:{:function(…)}
例如,输出U函数的返回值:
格式:{~function(…)}
例如,调用say_hello函数:
1、执行函数并输出返回值:
格式:{:function(…)}
例如,输出U函数的返回值:
{:U('User/insert')}
<?php echo U('User/insert');?>
格式:{~function(…)}
例如,调用say_hello函数:
{~say_hello('ThinkPHP')}
<?php say_hello('ThinkPHP');?>
