thinkphp 模板执行php,ThinkPHP 模板变量输出

普通输出

输出模板中的变量,格式如下:

{$变量名称}

例子:

{$username}//普通变量

{$userinfo["email"]}//数组方式

{$userinfo["sub"]["name"]} //三维数组方式

{$userinfo:email}//对象方式

{$userinfo.email}//自动判断数组或对象方式

默认输出

如果输出的模板变量没有值,但是我们需要在显示的时候赋予一个默认值的话,可以使用 default 语法来默认显示一个值。

格式:

{$变量|default="默认值"}

例子:

{$username|default="匿名"}

使用函数

对模板变量使用函数

模板引擎支持对输出的变量做格式化处理,也就是使用函数,并且支持多个函数。

格式:

{$变量|函数1|...|函数n=参数1,...,参数n,### }

函数从左往右对变量执行,先执行函数1,得到结果后作为参数再执行函数2,依次类推,并且默认情况下执行的结果是作为下一个函数第一个参数。

例子:

{$webTitle|md5|strtoupper|substr=0,3}

实际执行结果等效为:

echo substr(strtoupper(md5($webTitle)),0,3);

?>

如果变量或上函数执行的结果不是函数或下一个函数的第一个参数,那么需要使用定位符“###”:

{$userinfo["regdate"]|date="Y-m-d H:i",###}

实际执行结果等效为:

echo date("y-m-d H:i",$userinfo["regdate"]|);

?>

提示

对变量使用函数没有数量限制,但默认禁用了 exit 和 echo 函数,以防止破坏模板输出。关于禁用的函数具体配置可参见《ThinkPHP 系统配置》。

模板直接使用函数

模板文件中还支持直接调用函数的快捷方法,无需通过模板变量,包括两种方式:

1、执行函数并输出返回值

格式:

{:函数}

例子:

{:say_hello('ThinkPHP')}//say_hello()为用户自定义函数

实际执行结果等效为:

echo say_hello('ThinkPHP');

?>

2、执行函数但不输出

格式:

{~函数}

例子:

{~say_hello('ThinkPHP')}//say_hello()为用户自定义函数

实际执行结果等效为:

say_hello('ThinkPHP');

?>

以上两种方法,也支持传入模板变量作为函数的参数。

系统变量输出

系统变量包括:server、session、post、get、request、cookie、env。系统变量的输出不需要事先赋值给某个模板变量。系统变量的输出以 $Think. 开头,并且仍然支持使用函数。

例子:

{$Think.session.session_id|md5}//输出 $_SESSION 变量并使用 md5 加密

//或简写为

{$_SESSION. session_id|md5}

//输出$_GET变量

{$_GET.pageNumber}

系统常量输出

使用$Think.const输出系统常量。

例子:

{$Think.const.ACTION_NAME}//输出 ThinkPHP 系统定义的常量 ACTION_NAME(当前操作名称)

//或简写为

{$Think.ACTION_NAME}

配置参数输出

使用 $Think.config 输出项目的配置参数值。

例子:

{$Think.config.DB_PREFIX}

输出的值和 C('DB_PREFIX') 的返回结果是一样的。

快捷输出

为了使得模板定义更加简洁,系统还支持一些常用的变量输出快捷标签,包括:

{@var} 与 {$Think.session.var} 等效,输出 Session 变量

{#var} 与 {$Think.cookie.var} 等效,输出 Cookie 变量

{&var} 与 {$Think.config.var} 等效,输出配置参数

{%var} 与 {$Think.lang.var} 等效,输出语言变量

{.var} 与 {$Think.get.var} 等效,输出 GET 变量

{^var} 与 {$Think.post.var} 等效,输出 POST 变量

{*var} 与 {$Think.const.var} 等效,输出常量

提示

快捷输出不支持函数的使用

为了模板的可读性较强,不建议使用快捷输出方式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值