PHP模板引擎Smarty中的保留变量用法分析


Posted in PHP onApril 11, 2016

本文实例讲述了PHP模板引擎Smarty中的保留变量用法。分享给大家供大家参考,具体如下:

在 Smarty 中,有一些保留变量,它们是不需要 PHP 脚本去分配就可以直接使用,即不用使用 $_tpl->assign('var','value') 去分配。

1、在模板中访问页面请求的变量

{$smarty.get.user} == $_GET['user']
{$smarty.post.user} == $_POST['user']
{$smarty.cookie.username} == $_COOKIE['username']
{$smarty.session.username} == $_SESSION['username']
{$smarty.server.REMOTE_ADDR} == $_SERVER["REMOTE_ADDR"]
{$smarty.env.PATH} == $_ENV['PATH']
{$smarty.request.username} == $_REQUEST['username']

2、在模板文件中访问 PHP 脚本中定义的常量和系统常量

{$smarty.const.__FILE__}  //当前执行的 PHP 文件
{$smarty.const.CONST_VAR}  //访问 PHP 脚本中 define 定义的常量

3、在模板文件中获取当前服务器的时间

{$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"}  == PHP脚本中的 date('Y-m-d H:i:s',time())

4、配置文件在模板中的访问

可以通过 {$smarty.config.配置变量} 来访问配置文件中的模板变量。这样的话,在模板中访问配置文件中的变量就有两种方法:一、{#配置变量#};二、{$smarty.config.配置变量},如果有区域的话,也是如此。

5、获取 Smarty 内建函数 capture 捕获的数据

capture函数的作用是捕获模板输出的数据并将其存储到一个变量里,而不是把它们输出到页面,任何在 {capture name="foo"}和{/capture}之间的数据将被存储到变量$foo中,该变量由name属性指定。在模板中通过 $smarty.capture.foo 访问该变量,如果没有指定 name 属性,函数默认将使用 "default" 作为参数。

6、保留变量 $smarty.foreach

$smarty.foreach 获取 foreach 循环数组的一些信息,比如数组的个数、递增+1……,关于 $smarty.foreach 的使用,详细内容可参考前面一篇《PHP模板引擎Smarty内建函数foreach,foreachelse用法分析》

希望本文所述对大家基于smarty模板的PHP程序设计有所帮助。

PHP 相关文章推荐
解析php下载远程图片函数 可伪造来路
Jun 25 PHP
php实现文件下载功能的几个代码分享
May 10 PHP
php防止伪造的数据从URL提交方法
Jun 27 PHP
php上传图片之时间戳命名(保存路径)
Aug 15 PHP
php转换颜色为其反色的方法
Apr 27 PHP
ThinkPHP V2.2说明文档没有说明的那些事实例小结
Jul 01 PHP
PHP处理会话函数大总结
Aug 05 PHP
smarty简单应用实例
Nov 03 PHP
PHP中substr_count()函数获取子字符串出现次数的方法
Jan 07 PHP
thinkphp5实现无限级分类
Feb 18 PHP
PHP基于swoole多进程操作示例
Aug 12 PHP
php下的原生ajax请求用法实例分析
Feb 28 PHP
PHP模板引擎Smarty内建函数foreach,foreachelse用法分析
Apr 11 #PHP
PHP模板引擎Smarty之配置文件在模板变量中的使用方法示例
Apr 11 #PHP
PHP模板引擎Smarty中变量的使用方法示例
Apr 11 #PHP
php实现生成验证码实例分享
Apr 10 #PHP
PHP实现简单实用的分页类代码
Apr 08 #PHP
PHP文件上传类实例详解
Apr 08 #PHP
PHP实现基于mysqli的Model基类完整实例
Apr 08 #PHP
You might like
PHP实现更新中间关联表数据的两种方法
2014/09/01 PHP
php使用PDO方法详解
2014/12/27 PHP
php随机生成数字字母组合的方法
2015/03/18 PHP
PHP convert_uudecode()函数讲解
2019/02/14 PHP
基于prototype的validation.js发布2.3.4新版本,让你彻底脱离表单验证的烦恼
2006/12/06 Javascript
javascript 常用代码技巧大收集
2009/02/25 Javascript
extjs 列表框(multiselect)的动态添加列表项的方法
2009/07/31 Javascript
基于JQuery的多标签实现代码
2012/09/19 Javascript
location对象的属性和方法应用(解析URL)
2013/04/12 Javascript
jQuery 借助插件Lavalamp实现导航条动态美化效果
2013/09/27 Javascript
Jquery实现Div上下移动示例
2014/04/23 Javascript
js的[defer]和[async]属性
2014/11/24 Javascript
js自调用匿名函数的三种写法(推荐)
2016/08/19 Javascript
对Angular.js Controller如何进行单元测试
2016/10/25 Javascript
js窗口震动小程序分享
2016/11/28 Javascript
JavaScript中双符号的运算详解
2017/03/12 Javascript
node使用promise替代回调函数
2018/05/07 Javascript
详解ES6 Promise对象then方法链式调用
2018/10/20 Javascript
微信小程序webview与h5通过postMessage实现实时通讯的实现
2019/08/20 Javascript
微信小程序 this.triggerEvent()的具体使用
2019/12/10 Javascript
Angular利用HTTP POST下载流文件的步骤记录
2020/07/26 Javascript
Python中返回字典键的值的values()方法使用
2015/05/22 Python
matplotlib命令与格式之tick坐标轴日期格式(设置日期主副刻度)
2019/08/06 Python
如何基于python实现画不同品种的樱花树
2020/01/03 Python
Python使用Pyqt5实现简易浏览器(最新版本测试过)
2020/04/27 Python
python用tkinter实现一个简易能进行随机点名的界面
2020/09/27 Python
基于Python中Remove函数的用法讨论
2020/12/11 Python
德国50岁以上交友网站:Lebensfreunde
2020/03/18 全球购物
水务局局长岗位职责
2013/11/28 职场文书
给护士表扬信
2014/01/19 职场文书
大二法学专业职业生涯规划范文
2014/02/12 职场文书
思想作风建设心得体会
2014/10/22 职场文书
导游词怎么写
2015/02/04 职场文书
单位提档介绍信
2015/10/22 职场文书
python实现商品进销存管理系统
2022/05/30 Python
Spring Boot优化后启动速度快到飞起技巧示例
2022/07/23 Java/Android