登录  /  注册

ThinkPHP模板变量输出调用方法有哪些?

php中文网
发布: 2016-07-25 08:53:08
原创
1243人浏览过
  1. {$变量名称}例子:{$username} //普通变量{$userinfo["email"]} //数组方式{$userinfo["sub"]["name"]} //三维数组方式{$userinfo:email} //对象方式{$userinfo.email}...
复制代码

普通输出 输出模板中的变量,格式如下: {$变量名称}

例子:

  1. {$username} //普通变量
  2. {$userinfo["email"]} //数组方式
  3. {$userinfo["sub"]["name"]}//三维数组方式
  4. {$userinfo:email} //对象方式
  5. {$userinfo.email} //自动判断数组或对象方式
复制代码

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

格式: {$变量|default="默认值"} 例子:

  1. {$username|default="匿名"}
复制代码

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

格式: {$变量|函数1|...|函数n=参数1,...,参数n,### } 函数从左往右对变量执行,先执行函数1,得到结果后作为参数再执行函数2,依次类推,并且默认情况下执行的结果是作为下一个函数第一个参数。

例子:

  1. {$webTitle|md5|strtoupper|substr=0,3}
复制代码

实际执行结果等效为: 如果变量或上函数执行的结果不是函数或下一个函数的第一个参数,那么需要使用定位符“###”: {$userinfo["regdate"]|date="Y-m-d H:i",###} 实际执行结果等效为:

  1. echo date("y-m-d H:i",$userinfo["regdate"]|);
  2. ?>
复制代码

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

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

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

格式: {:函数} 例子:

  1. {:say_hello('ThinkPHP')} //say_hello()为用户自定义函数
  2. 实际执行结果等效为:
  3. echo say_hello('ThinkPHP');
  4. ?>
复制代码

2、执行函数但不输出 格式: {~函数} 例子:

  1. {~say_hello('ThinkPHP')} //say_hello()为用户自定义函数
  2. 实际执行结果等效为:
  3. say_hello('ThinkPHP');
  4. ?>
复制代码

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

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

例子:

  1. {$Think.session.session_id|md5} //输出 $_SESSION 变量并使用 md5 加密
  2. //或简写为
  3. {$_SESSION. session_id|md5}
  4. //输出$_GET变量
  5. {$_GET.pageNumber}
复制代码

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

例子:

  1. {$Think.const.ACTION_NAME} //输出 ThinkPHP 系统定义的常量 ACTION_NAME(当前操作名称)
  2. //或简写为
  3. {$Think.ACTION_NAME}
复制代码

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

例子:

  1. {$Think.config.DB_PREFIX}
复制代码

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

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

  1. {@var} 与 {$Think.session.var} 等效,输出 Session 变量
  2. {#var} 与 {$Think.cookie.var} 等效,输出 Cookie 变量
  3. {&var} 与 {$Think.config.var} 等效,输出配置参数
  4. {%var} 与 {$Think.lang.var} 等效,输出语言变量
  5. {.var} 与 {$Think.get.var} 等效,输出 GET 变量
  6. {^var} 与 {$Think.post.var} 等效,输出 POST 变量
  7. {*var} 与 {$Think.const.var} 等效,输出常量
复制代码

提示 快捷输出不支持函数的使用 为了模板的可读性较强,不建议使用快捷输出方式



智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号