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中使用gettext来支持多语言的方法
May 02 PHP
PHP的构造方法,析构方法和this关键字详细介绍
Oct 22 PHP
php文件上传的例子及参数详解
Dec 12 PHP
php运行提示:Fatal error Allowed memory size内存不足的解决方法
Dec 17 PHP
PHP文件操作之获取目录下文件与计算相对路径的方法
Jan 08 PHP
PHP查询附近的人及其距离的实现方法
May 11 PHP
功能强大的php文件上传类
Aug 29 PHP
thinkPHP js文件中U方法不被解析问题的解决方法
Dec 05 PHP
php生成条形码的图片的实例详解
Sep 13 PHP
WHOOPS PHP调试库的使用
Sep 29 PHP
PHP正则验证字符串是否为数字的两种方法并附常用正则
Feb 27 PHP
解决windows上php xdebug 无法调试的问题
Feb 19 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上传图片类(随机名,缩略图,加水印)
2010/06/30 PHP
snoopy 强大的PHP采集类使用实例代码
2010/12/09 PHP
Drupal读取Excel并导入数据库实例
2014/03/02 PHP
CI框架开发新浪微博登录接口源码完整版
2014/05/28 PHP
php+mysqli使用预处理技术进行数据库查询的方法
2015/01/28 PHP
javascript URL编码和解码使用说明
2010/04/12 Javascript
javascript 广告后加载,加载完页面再加载广告
2010/11/25 Javascript
jquery动态添加删除div 具体实现
2013/07/20 Javascript
两个select多选模式的选项相互移动(示例代码)
2014/01/11 Javascript
jquery.form.js用法之清空form的方法
2014/03/07 Javascript
jQuery实现强制cookie过期方法汇总
2015/05/22 Javascript
详谈javascript中的cookie
2015/06/03 Javascript
PHP结合jQuery实现红蓝投票功能特效
2015/07/22 Javascript
spirngmvc js传递复杂json参数到controller的实例
2018/03/29 Javascript
微信小程序日历插件代码实例
2019/12/04 Javascript
解决vue net :ERR_CONNECTION_REFUSED报错问题
2020/08/13 Javascript
[02:09:59]火猫TV国士无双dota2 6.82版本详解(下)
2014/09/29 DOTA
[36:52]DOTA2真视界:基辅特锦赛总决赛
2017/05/21 DOTA
Python极简代码实现杨辉三角示例代码
2016/11/15 Python
Python3之手动创建迭代器的实例代码
2019/05/22 Python
Pycharm内置终端及远程SSH工具的使用教程图文详解
2020/03/19 Python
Python requests模块session代码实例
2020/04/14 Python
python调用win32接口进行截图的示例
2020/11/11 Python
CSS3 透明色 RGBA使用介绍
2013/08/06 HTML / CSS
html5 input元素新特性_动力节点Java学院整理
2017/07/06 HTML / CSS
俄罗斯品牌服装在线商店:VIPAVENUE
2020/08/10 全球购物
个人自我鉴定怎么写
2013/10/28 职场文书
大一学生的职业生涯规划书范文
2014/01/19 职场文书
打架检讨书500字
2014/01/29 职场文书
运动会稿件100字
2014/02/21 职场文书
4S店售后客服自我评价
2014/04/09 职场文书
我的老师教学反思
2014/05/01 职场文书
玩手机检讨书1000字
2014/10/20 职场文书
2014年组织委员工作总结
2014/12/01 职场文书
2014年圣诞节寄语
2014/12/08 职场文书
利用python进行数据加载
2021/06/20 Python