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获取MAC地址的函数代码
Sep 11 PHP
基于wordpress主题制作的具体实现步骤
May 10 PHP
Function eregi is deprecated (解决方法)
Jun 21 PHP
PHP实现多图片上传类实例
Jul 26 PHP
php禁止浏览器使用缓存页面的方法
Nov 07 PHP
PHP清除字符串中所有无用标签的方法
Dec 01 PHP
php创建无限级树型菜单
Nov 05 PHP
PHP中获取文件创建日期、修改日期、访问时间的方法
Nov 05 PHP
PHP实现的文件上传类与用法详解
Jul 05 PHP
PHP实现的DES加密解密类定义与用法示例
Nov 02 PHP
PHP swoole和redis异步任务实现方法分析
Aug 12 PHP
PHP页面静态化――纯静态与伪静态用法详解
Jun 05 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
打造计数器DIY三步曲(上)
2006/10/09 PHP
PHP制作图形验证码代码分享
2014/10/23 PHP
延时重复执行函数 lLoopRun.js
2007/05/08 Javascript
js中widow.open()方法使用详解
2013/07/30 Javascript
JavaScript实现检查页面上的广告是否被AdBlock屏蔽了的方法
2014/11/03 Javascript
javascript学习小结之prototype
2015/12/03 Javascript
关于Javascript回调函数的一个妙用
2016/08/29 Javascript
AngularJS通过$http和服务器通信详解
2016/09/21 Javascript
D3.js实现直方图的方法详解
2016/09/25 Javascript
详解jQuery简单的表单应用
2016/12/16 Javascript
Node连接mysql数据库方法介绍
2017/02/07 Javascript
angular-cli修改端口号【angular2】
2017/04/19 Javascript
jQuery zTree树插件动态加载实例代码
2017/05/11 jQuery
Vue官网todoMVC示例代码
2018/01/29 Javascript
jQuery实现的简单图片轮播效果完整示例
2018/02/08 jQuery
AngularJS上传文件的示例代码
2018/11/10 Javascript
Nodejs实现用户注册功能
2019/04/14 NodeJs
详解vue使用$http服务端收不到参数
2019/04/19 Javascript
javascript定时器的简单应用示例【控制方块移动】
2019/06/17 Javascript
原生JS实现萤火虫效果
2020/03/07 Javascript
利用Python和OpenCV库将URL转换为OpenCV格式的方法
2015/03/27 Python
windows10下python3.5 pip3安装图文教程
2018/04/02 Python
Python实现计算字符串中出现次数最多的字符示例
2019/01/21 Python
python实现抖音点赞功能
2019/04/07 Python
Python Tkinter 简单登录界面的实现
2019/06/14 Python
解决python DataFrame 打印结果不换行问题
2020/04/09 Python
介绍CSS3使用技巧5个
2009/04/02 HTML / CSS
用canvas画心电图的示例代码
2018/09/10 HTML / CSS
新学期教师寄语
2014/04/02 职场文书
学校党的群众路线教育实践活动总结报告
2014/07/03 职场文书
龙门石窟导游词
2015/02/02 职场文书
2015年依法行政工作总结
2015/04/29 职场文书
2015年电信员工工作总结
2015/05/26 职场文书
追讨欠款律师函
2015/06/24 职场文书
《小蝌蚪找妈妈》教学反思
2016/02/23 职场文书
详解MySQL连接挂死的原因
2021/05/18 MySQL