Thinkphp总结
tp6模板输出变量有几种方式
日期: 2025-12-28 阅读: 18451
ThinkPHP 6 模板引擎输出变量的方式主要有以下几种:
一、基本变量输出方式
1. 普通变量
{$name}
2. 数组变量(两种方式)
{$user.name} <!-- 点语法 -->
{$user['name']} <!-- 中括号语法,支持多维数组 -->
3. 对象属性
{$user->name}
4. 对象方法调用
{$user->getName()}
5. 使用{:}输出方法调用或表达式
{:} 语法可以用来执行PHP代码、方法调用或者输出表达式的结果。
{:date('Y-m-d', time())}
6. 使用 `echo` 或 `print` 方法
在模板中, `echo` 和 `print` 也是可以用来输出内容的,不过这种方式并不常见,因为直接使用 `{$}` 更加简洁明了。
{:echo('Hello World')}
二、特殊变量输出
7. 系统变量(通过Request对象)
{$Request.get.id} <!-- $_GET -->
{$Request.post.id} <!-- $_POST -->
{$Request.param.id} <!-- 所有参数 -->
{$Request.session.name}<!-- $_SESSION -->
{$Request.cookie.name} <!-- $_COOKIE -->
{$Request.server.name} <!-- $_SERVER -->
8. 常量输出
{$Think.PHP_VERSION} <!-- PHP版本 -->
{$Think.const.MY_CONST} <!-- 自定义常量 -->
9. 配置信息
{$Think.config.app.app_host} <!-- 配置项 -->
三、带修饰的输出方式
10. 使用默认值
{$name|default='暂无数据'}
11. 使用过滤器/函数
{$name|md5} <!-- 单个函数 -->
{$name|md5|upper|substr=0,3} <!-- 多个函数链式调用 -->
{$time|date='Y-m-d H:i'} <!-- 带参数的函数 -->
{$variable|escape} <!-- 对 HTML 输出进行转义,防止 XSS 攻击 -->
{$variable|nl2br} <!-- 将换行符转换为 `<br>` 标签 -->
11. 使用运算符
{$a + $b}
{$status ? '正常' : '禁用'} <!-- 三元运算符 -->
12. 原样输出(不转义)
{$|raw}
13. `block` 和 `include` 输出
ThinkPHP 6 还支持模板的 `block` 和 `include` 语法,这些语法可以用来嵌套其他模板或输出来自其他模板的内容。
<!-- Block 示例 -->
{block name="header"}默认头部{/block}
<!-- Include 示例 -->
{include file="header"}
总结
TP6模板变量输出方式可归纳为13种主要形式,包括基本变量、数组/对象、系统变量、常量配置以及带修饰的过滤器、函数、运算符等增强用法。实际开发中可根据需求灵活组合使用。
* {$}:最常见的变量输出方式。
* {:}:用于执行方法调用或输出复杂表达式的结果。
* 条件语句:支持 `if`、`else` 和 `foreach` 等条件判断。
* 过滤器:可以在输出时使用过滤器对变量进行处理。
一、基本变量输出方式
1. 普通变量
{$name}
2. 数组变量(两种方式)
{$user.name} <!-- 点语法 -->
{$user['name']} <!-- 中括号语法,支持多维数组 -->
3. 对象属性
{$user->name}
4. 对象方法调用
{$user->getName()}
5. 使用{:}输出方法调用或表达式
{:} 语法可以用来执行PHP代码、方法调用或者输出表达式的结果。
{:date('Y-m-d', time())}
6. 使用 `echo` 或 `print` 方法
在模板中, `echo` 和 `print` 也是可以用来输出内容的,不过这种方式并不常见,因为直接使用 `{$}` 更加简洁明了。
{:echo('Hello World')}
二、特殊变量输出
7. 系统变量(通过Request对象)
{$Request.get.id} <!-- $_GET -->
{$Request.post.id} <!-- $_POST -->
{$Request.param.id} <!-- 所有参数 -->
{$Request.session.name}<!-- $_SESSION -->
{$Request.cookie.name} <!-- $_COOKIE -->
{$Request.server.name} <!-- $_SERVER -->
8. 常量输出
{$Think.PHP_VERSION} <!-- PHP版本 -->
{$Think.const.MY_CONST} <!-- 自定义常量 -->
9. 配置信息
{$Think.config.app.app_host} <!-- 配置项 -->
三、带修饰的输出方式
10. 使用默认值
{$name|default='暂无数据'}
11. 使用过滤器/函数
{$name|md5} <!-- 单个函数 -->
{$name|md5|upper|substr=0,3} <!-- 多个函数链式调用 -->
{$time|date='Y-m-d H:i'} <!-- 带参数的函数 -->
{$variable|escape} <!-- 对 HTML 输出进行转义,防止 XSS 攻击 -->
{$variable|nl2br} <!-- 将换行符转换为 `<br>` 标签 -->
11. 使用运算符
{$a + $b}
{$status ? '正常' : '禁用'} <!-- 三元运算符 -->
12. 原样输出(不转义)
{$|raw}
13. `block` 和 `include` 输出
ThinkPHP 6 还支持模板的 `block` 和 `include` 语法,这些语法可以用来嵌套其他模板或输出来自其他模板的内容。
<!-- Block 示例 -->
{block name="header"}默认头部{/block}
<!-- Include 示例 -->
{include file="header"}
总结
TP6模板变量输出方式可归纳为13种主要形式,包括基本变量、数组/对象、系统变量、常量配置以及带修饰的过滤器、函数、运算符等增强用法。实际开发中可根据需求灵活组合使用。
* {$}:最常见的变量输出方式。
* {:}:用于执行方法调用或输出复杂表达式的结果。
* 条件语句:支持 `if`、`else` 和 `foreach` 等条件判断。
* 过滤器:可以在输出时使用过滤器对变量进行处理。
下一个 :thinkphp6的调试方法有哪些?


