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作的文本留言本的例子(三)
Oct 09 PHP
php.ini 中文版
Oct 28 PHP
利用discuz实现PHP大文件上传应用实例代码
Nov 14 PHP
php设计模式 Strategy(策略模式)
Jun 26 PHP
几个有用的php字符串过滤,转换函数代码
May 01 PHP
Zend的AutoLoad机制介绍
Sep 27 PHP
PHP程序员常见的40个陋习,你中了几个?
Nov 20 PHP
详解PHP中foreach的用法和实例
Oct 25 PHP
记录一次排查PHP脚本执行卡住的问题
Dec 27 PHP
PHP7扩展开发之基于函数方式使用lib库的方法详解
Jan 15 PHP
PHP实用小技巧之调用录像的方法
Dec 05 PHP
浅谈PHP之ThinkPHP框架使用详解
Jul 21 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版(5)
2006/10/09 PHP
基于MySQL到MongoDB简易对照表的详解
2013/06/03 PHP
解析web文件操作常见安全漏洞(目录、文件名检测漏洞)
2013/06/29 PHP
解析:php调用MsSQL存储过程使用内置RETVAL获取过程中的return值
2013/07/03 PHP
PHP针对多用户实现更换头像功能
2016/09/04 PHP
thinkPHP5.0框架自动加载机制分析
2017/03/18 PHP
linux mint下安装phpstorm2020包括JDK部分的教程详解
2020/09/17 PHP
Some tips of wmi scripting in jscript (1)
2007/04/03 Javascript
JavaScript中Math对象使用说明
2008/01/16 Javascript
跟着JQuery API学Jquery 之二 属性
2010/04/09 Javascript
基于jQuery滑动杆实现购买日期选择效果
2015/09/15 Javascript
JS脚本实现动态给标签控件添加事件的方法
2016/06/02 Javascript
BootstrapTable refresh 方法使用实例简单介绍
2017/02/20 Javascript
JS中定位 position 的使用实例代码
2017/08/06 Javascript
vue小图标favicon不显示的解决方案
2017/09/19 Javascript
layui实现动态和静态分页
2018/04/28 Javascript
JS逻辑运算符短路操作实例分析
2018/07/09 Javascript
详解node.js的http模块实例演示
2018/07/12 Javascript
[09:23]国际邀请赛采访专栏:iG战队VK,Tongfu战队Cu
2013/08/05 DOTA
使用Python脚本来控制Windows Azure的简单教程
2015/04/16 Python
Windows下使Python2.x版本的解释器与3.x共存的方法
2015/10/25 Python
简单实现python聊天程序
2018/04/01 Python
对python同一个文件夹里面不同.py文件的交叉引用方法详解
2018/12/15 Python
Python3实现的简单三级菜单功能示例
2019/03/12 Python
Python输出指定字符串的方法
2020/02/06 Python
浅谈keras保存模型中的save()和save_weights()区别
2020/05/21 Python
Python面向对象实现方法总结
2020/08/12 Python
python调用百度AI接口实现人流量统计
2021/02/03 Python
编程实现去掉XML的重复结点
2014/05/28 面试题
高中军训第一天感言
2014/03/06 职场文书
学校文明单位申报材料
2014/05/06 职场文书
任命书范本大全
2014/06/06 职场文书
就业推荐表自我评价范文
2015/03/02 职场文书
三八节活动简报
2015/07/20 职场文书
python开发人人对战的五子棋小游戏
2022/05/02 Python
教你win10系统中APPCRASH事件问题解决方法
2022/07/15 数码科技