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 遍历显示文件夹下所有目录、所有文件的函数,没有分页的代码
Nov 14 PHP
php图像处理函数大全(推荐收藏)
Jul 11 PHP
php如何解决无法上传大于8M的文件问题
Mar 10 PHP
使用php批量删除数据库下所有前缀为prefix_的表
Jun 09 PHP
PHP中file_get_contents高?用法实例
Sep 24 PHP
Javascript与PHP验证用户输入URL地址是否正确
Oct 09 PHP
PHP中实现获取IP和地理位置类分享
Feb 10 PHP
php实现在限定区域里自动调整字体大小的类实例
Apr 02 PHP
php通过获取头信息判断图片类型的方法
Jun 26 PHP
php微信开发之谷歌测距
Jun 14 PHP
PHP安装BCMath扩展的方法
Feb 13 PHP
Laravel 实现关系模型取出需要的字段
Oct 10 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 各种排序算法实现代码
2009/08/20 PHP
PHP文件上传主要代码讲解
2013/09/30 PHP
php多个文件及图片上传实例详解
2014/11/10 PHP
PHP  Yii清理缓存的实现方法
2016/11/10 PHP
php从数据库中获取数据用ajax传送到前台的方法
2018/08/20 PHP
JS面向对象编程之对象使用分析
2010/08/19 Javascript
jQuery队列控制方法详解queue()/dequeue()/clearQueue()
2010/12/02 Javascript
Web开发之JavaScript
2012/03/29 Javascript
xml转json的js代码
2012/08/28 Javascript
jQuery动画效果-slideUp slideDown上下滑动示例代码
2013/08/28 Javascript
JQuery弹出层示例可自定义
2014/05/19 Javascript
JavaScript验证电子邮箱的函数
2014/08/22 Javascript
Javascript中使用parseInt函数需要注意的问题
2015/04/02 Javascript
基于BootStrap Metronic开发框架经验小结【八】框架功能总体界面介绍
2016/05/12 Javascript
JavaScript基于原型链的继承
2016/06/22 Javascript
浅析Javascript ES6中的原生Promise
2016/08/25 Javascript
使用PBFunc在Powerbuilder中支付宝当面付款功能
2016/10/01 Javascript
vue实现ajax滚动下拉加载,同时具有loading效果(推荐)
2017/01/11 Javascript
ES6学习教程之对象字面量详解
2017/10/09 Javascript
微信小程序搭建(mpvue+mpvue-weui+fly.js)的详细步骤
2018/09/18 Javascript
DWR内存兼容及无法调用问题解决方案
2020/10/16 Javascript
[01:34]2014DOTA2 TI预选赛预选赛 选手比赛房大揭秘!
2014/05/20 DOTA
linux下python抓屏实现方法
2015/05/22 Python
python实现实时监控文件的方法
2016/08/26 Python
Django forms表单 select下拉框的传值实例
2019/07/19 Python
django数据模型on_delete, db_constraint的使用详解
2019/12/24 Python
pygame实现飞机大战
2020/03/11 Python
python中time.ctime()实例用法
2021/02/03 Python
美国学校校服,儿童和婴儿服装:Cookie’s Kids
2016/10/14 全球购物
香奈儿美国官网:CHANEL美国
2020/05/20 全球购物
中职生自我鉴定范文
2013/10/03 职场文书
财务人员担保书
2014/05/13 职场文书
教师调动申请报告
2015/05/18 职场文书
如何撰写促销方案?
2019/07/05 职场文书
2019年二手房买卖合同范本
2019/10/14 职场文书
Java新手教程之ArrayList的基本使用
2021/06/20 Java/Android