{$smarty}保留变量不需要从PHP脚本中分配,是可以在模板中直接访问的数组类型变量,通常被用于访问一些特殊的模板变量。例如,直接在模板中访问页面请求变量、获取访问模板时的时间戳、直接访问PHP中的常量、从配置文件中读取变量等。
1.在模板中访问页面请求变量
我们可以在PHP脚本中,通过超级全局数组$_GET、$_POST、$_REQUEST获取在客户端以不同方法提交给服务器的数据,也可以通过$_COOKIE或$_SESSION在多个脚本之间跟踪变量,或是通过$_ENV和$_SERVER获取系统环境变量。如果在模板中需要这些数组,可以调用Smarty对象中的assign()方法分配给模板。但在Smarty模板中,直接就可以通过{$smarty}保留变量访问这些页面请求变量。在模板中使用的示例如下所示:
PHP代码
- 1. {$smarty.get.page} {* PHP方式:$_GET["page"] *}
- 2. {$smarty.post.page} {* PHP方式:$_POST["page"] *}
- 3. {$smarty.cookies.username} {* PHP方式:$_COOKIE["username"] *}
- 4. {$smarty.session.id} {* PHP方式:$_SESSION["id"] *}
- 5. {$smarty.server.SERVER_NAME} {* PHP方式:$_SERVER["SERVER_NAME"] *}
- 6. {$smarty.env.PATH} {* PHP方式:$_ENV["PATH"]*}
- 7. {$smarty.request.username} {* PHP方式:$_REQUEST["username"] *}
2.在模板中访问PHP中的变量
在PHP脚本中有系统常量和自定义常量两种,同样这两种常量在Smarty模板中也可以被访问,而且不需要从PHP中分配,只要通过{$smarty}保留变量就可以直接输出常量的值。在模板中输出常量的示例如下所示:
PHP代码
- 1. {$smarty.const._MY_CONST_VAL} {* 输出PHP脚本中自定义的常量 *}
- 2. {$smarty.const.__FILE__} {* 通过保留变量数组直接输出系统常量 *}
3.其它
PHP代码
- 1.{$smarty.now}变量用于访问当前时间戳.
- 可以用 date_format调节器格式化输出. 例如{$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"}
- 2.{$smarty.const}
- 你可以直接访问PHP常量. 例如{$smarty.const._MY_CONST_VAL}
- 3.{$smarty.capture}
- 可以通过 {capture}..{/capture}结构 截取的输出可以使用{$smarty} 变量访问.
- 4.{$smarty.config}
- {$smarty}变量 可以访问已经加载的config变量.
- 例如 {$smarty.config.foo}就可以表示 {#foo#}.
- 5.{$smarty.section}, {$smarty.foreach}
- {$smarty} 变量可以访问'section'和'foreach'循环的属性.
- 6.{$smarty.template} 显示当前被处理的模板的名字.
- 7.{$smarty.version}
- 显示smarty模板的版本
- 8.{$smarty.ldelim} 显示左分隔符
- 9.{$smarty.rdelim} 显示右分隔符
之前没有这样用过,都是通过PHP获取,通过assign赋值到前台,看到这篇文章感觉之前的做法很傻啊!不断学习,不断超越!
相关推荐
在Smarty中,可以直接在模板中访问来自不同源的数据,如GET、POST、REQUEST、COOKIES和SESSION变量,以及PHP中的常量和系统环境变量,而无需在PHP脚本中特别分配。 1. **访问页面请求变量**: Smarty提供了一个...
- 获取合并后的 GET/POST/Cookies/Server/Env 变量:`{$smarty.request.username}` **8. 时间处理** - **当前时间格式化**: - 获取并格式化当前时间:`{$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"}` - **...
它们同样可以使用`{$smarty.cookies.varname}`和`{$smarty.session.varname}`在Smarty中获取。 - **$\_SERVER,$\_ENV**:用于获取服务器环境信息和操作系统环境变量,通过`{$smarty.server.varname}`和`{$smarty....
`$smarty.get`、`$smarty.post`、`$smarty.cookie`、`$smarty.env`、`$smarty.server`、`$smarty.request`、`$smarty.session`分别对应PHP的`$_GET`、`$_POST`、`$_COOKIE`、`$_ENV`、`$_SERVER`、`$_REQUEST`、`$_...
- **直接访问页面请求变量**:在模板中,可以直接通过`{$smarty.get}`, `{$smarty.post}`, `{$smarty.cookies}`, `{$smarty.session}`等访问请求数据,如`{$smarty.get.page}`代表`$_GET['page']`。 这些模板语法...
这种锁通常在事务中使用,确保数据的一致性和完整性。 - **死锁处理**: 死锁是指两个或更多的事务在执行过程中因互相等待对方释放资源而无限期阻塞下去的情况。解决死锁的方法通常包括查找死锁中的线程并手动终止...
if ($_SERVER["REQUEST_METHOD"] == "POST") { $username = $_POST["username"]; $password = $_POST["password"]; echo "Username: " . htmlspecialchars($username) . " "; echo "Password: " . ...
3.4.7 REQUEST变量:$_REQUEST 3.4.8 系统Session信息:$_SESSION 3.4.9 GLOBALS变量:$GLOBALS 3.5 本章小结 第4章 PHP中的数据库编程 4.1 通过PHP操作MySQL数据库 4.1.1 PHP连接MySQL 4.1.2 选择数据库 4.1.3 创建...
PHP(Hypertext Preprocessor,超文本预处理器)是一种广泛使用的开源服务器端脚本语言,尤其适合Web开发,可以嵌入到HTML中使用。PHP的基础是每个PHP开发者必须掌握的知识,包括语法、变量、数据类型、流程控制、...
2. **URL参数**: 通过 `$_GET` 变量处理URL中的查询字符串,`$_REQUEST` 包含 `$_GET`, `$_POST` 和 `$_COOKIE` 的数据。 3. **cookies**: 使用 `setcookie()` 函数设置cookie,`$_COOKIE` 超全局数组用于获取...
3. **URL参数**:使用`$_REQUEST`接收GET、POST和COOKIE数据,`$_SERVER`获取服务器信息。 4. **cookies与session**:存储用户状态信息,了解生命周期和安全性。 ### 八、PHP进阶话题 1. **模板引擎**:如Smarty,...
4. **模板引擎**:如Smarty等,分离业务逻辑和视图展示,提升代码可维护性。 5. **错误日志**:error_log()函数用于将错误信息记录到日志文件,方便调试和排查问题。 **总结** 中文版PHP手册2011-08-01是学习和...
8. **HTTP请求与响应**:处理GET和POST请求,发送HTTP头信息,以及使用$_GET、$_POST、$_REQUEST全局变量。 9. **表单处理**:创建HTML表单,使用PHP处理表单数据,进行验证和过滤。 10. **面向对象编程**:理解类...