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 相关文章推荐
BBS(php & mysql)完整版(七)
Oct 09 PHP
php xml文件操作代码(一)
Mar 20 PHP
封装一个PDO数据库操作类代码
Sep 09 PHP
基于python发送邮件的乱码问题的解决办法
Apr 25 PHP
探讨如何在PHP开启gzip页面压缩实例
Jun 09 PHP
PHP多线程类及用法实例
Dec 03 PHP
WAMP环境中扩展oracle函数库(oci)
Jun 26 PHP
浅析php设计模式之数据对象映射模式
Mar 03 PHP
thinkphp3.x中session方法的用法分析
May 20 PHP
PHP+jquery+CSS制作头像登录窗(仿QQ登陆)
Oct 20 PHP
ThinkPHP3.2框架自定义配置和加载用法示例
Jun 14 PHP
数据结构之利用PHP实现二分搜索树
Oct 25 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相关资料
2006/10/09 PHP
php MySQL与分页效率
2008/06/04 PHP
php实现格式化多行文本为Js可用格式
2015/04/15 PHP
PHP的Socket通信之UDP通信实例
2015/07/02 PHP
Mootools 1.2教程 输入过滤第二部分(字符串)
2009/09/15 Javascript
jQuery实现随意改变div任意属性的名称和值(部分原生js实现)
2013/05/28 Javascript
基于javascript实现彩票随机数生成(升级版)
2020/04/17 Javascript
Angularjs 实现分页功能及示例代码
2016/09/14 Javascript
jQuery中DOM节点的删除方法总结(超全面)
2017/01/22 Javascript
easyUI下拉列表点击事件使用方法
2017/05/18 Javascript
Vue 仿QQ左滑删除组件功能
2018/03/12 Javascript
vue-cli 引入、配置axios的方法
2018/05/08 Javascript
在VUE style中使用data中的变量的方法
2020/06/19 Javascript
Python 检查数组元素是否存在类似PHP isset()方法
2014/10/14 Python
Python找出最小的K个数实例代码
2018/01/04 Python
Python分支结构(switch)操作简介
2018/01/17 Python
python实现装饰器、描述符
2018/02/28 Python
pandas对指定列进行填充的方法
2018/04/11 Python
Python基于生成器迭代实现的八皇后问题示例
2018/05/23 Python
Python continue继续循环用法总结
2018/06/10 Python
Python爬虫基础之XPath语法与lxml库的用法详解
2018/09/13 Python
浅谈Python接口对json串的处理方法
2018/12/19 Python
python自定义线程池控制线程数量的示例
2019/02/22 Python
python的pytest框架之命令行参数详解(上)
2019/06/27 Python
使用pytorch完成kaggle猫狗图像识别方式
2020/01/10 Python
Pytorch在dataloader类中设置shuffle的随机数种子方式
2020/01/14 Python
Python Django view 两种return的实现方式
2020/03/16 Python
python实现简单遗传算法
2020/09/18 Python
Python爬虫自动化爬取b站实时弹幕实例方法
2021/01/26 Python
世界上最大的街头服饰网站:Karmaloop
2017/02/04 全球购物
欧舒丹俄罗斯官方网站:L’OCCITANE俄罗斯
2019/11/22 全球购物
影视广告专业求职信
2014/09/02 职场文书
12.4全国法制宣传日活动方案
2014/11/02 职场文书
2015年健康教育工作总结
2015/04/10 职场文书
高中数学课堂教学反思
2016/02/18 职场文书
2019暑假阅读倡议书
2019/06/24 职场文书