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集成FCK的函数代码
Sep 27 PHP
PHP SQLite类
May 07 PHP
php $_ENV为空的原因分析
Jun 01 PHP
建站常用13种PHP开源CMS比较
Aug 23 PHP
用来解析.htgroup文件的PHP类
Sep 05 PHP
Eclipse的PHP插件PHPEclipse安装和使用
Jul 20 PHP
ThinkPHP控制器间实现相互调用的方法
Oct 31 PHP
php实现文本数据导入SQL SERVER
May 17 PHP
Yii多表联合查询操作详解
Jun 02 PHP
PHP中的多种加密技术及代码示例解析
Oct 20 PHP
yii2使用gridView实现下拉列表筛选数据
Apr 10 PHP
laravel入门知识点整理
Sep 15 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
基于Windows下Apache PHP5.3.1安装教程
2010/01/08 PHP
php设计模式 FlyWeight (享元模式)
2011/06/26 PHP
php实现RSA加密类实例
2015/03/26 PHP
PHP也能干大事 随机函数
2015/04/14 PHP
在Mac OS上搭建Nginx+PHP+MySQL开发环境的教程
2015/12/21 PHP
php上传大文件设置方法
2016/04/14 PHP
TP5框架实现的数据库备份功能示例
2020/04/05 PHP
来自国外的30个基于jquery的Web下拉菜单
2012/06/22 Javascript
node.js中的fs.close方法使用说明
2014/12/17 Javascript
快速实现jQuery多级菜单效果
2017/02/01 Javascript
无法获取隐藏元素宽度和高度的解决方案
2017/03/07 Javascript
微信小程序开发之从相册获取图片 使用相机拍照 本地图片上传
2017/04/18 Javascript
详解Vue微信授权登录前后端分离较为优雅的解决方案
2018/06/29 Javascript
vue router 组件的高级应用实例代码
2019/04/08 Javascript
微信小程序常用的3种提示弹窗实现详解
2019/09/19 Javascript
webpack 动态批量加载文件的实现方法
2020/03/19 Javascript
js实现小球在页面规定的区域运动
2020/06/16 Javascript
神经网络python源码分享
2017/12/15 Python
Python 实现12306登录功能实例代码
2018/02/09 Python
python如何实现反向迭代
2018/03/20 Python
Python3.4学习笔记之 idle 清屏扩展插件用法分析
2019/03/01 Python
django url到views参数传递的实例
2019/07/19 Python
python3 常见解密加密算法实例分析【base64、MD5等】
2019/12/19 Python
python实现文件分片上传的接口自动化
2020/11/19 Python
python实现学生信息管理系统源码
2021/02/22 Python
铁路安全事故反思
2014/04/26 职场文书
上海世博会志愿者口号
2014/06/17 职场文书
球队口号
2014/06/18 职场文书
公司领导班子民主生活会对照检查材料
2014/10/02 职场文书
领导批评与自我批评范文
2014/10/16 职场文书
初中成绩单评语
2014/12/29 职场文书
学校办公室主任岗位职责
2015/04/01 职场文书
基石观后感
2015/06/12 职场文书
2015最新婚礼主持词
2015/06/30 职场文书
一篇文章看懂MySQL主从复制与读写分离
2021/11/07 MySQL
vue 把二维或多维数组转一维数组
2022/04/24 Vue.js