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 相关文章推荐
解析百度搜索结果link?url=参数分析 (全)
Oct 09 PHP
基于ubuntu下nginx+php+mysql安装配置的具体操作步骤
Apr 28 PHP
Drupal7中常用的数据库操作实例
Mar 02 PHP
php与Mysql的一些简单的操作
Feb 26 PHP
利用PHP将部分内容用星号替换
Apr 21 PHP
功能强大的php分页函数
Jul 20 PHP
PHP中多线程的两个实现方法
Oct 14 PHP
搭建自己的PHP MVC框架详解
Aug 16 PHP
tp框架(thinkPHP)实现三次登陆密码错误之后锁定账号功能示例
May 24 PHP
PHP设计模式之建造者模式定义与用法简单示例
Aug 13 PHP
详解php中生成标准uuid(guid)的方法
Apr 28 PHP
php写入txt乱码的解决方法
Sep 17 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生成静态页面教程
2012/01/10 PHP
php实现的SESSION类
2014/12/02 PHP
PHP单例模式详细介绍
2015/07/01 PHP
使用纯php代码实现页面伪静态的方法
2015/07/25 PHP
PHP串行化与反串行化实例分析
2016/12/27 PHP
PHP第三方登录―QQ登录实现方法
2017/02/06 PHP
JavaScript 继承详解(一)
2009/07/13 Javascript
CSS和JS标签style属性对照表(方便js开发的朋友)
2010/11/11 Javascript
jquery模拟按下回车实现代码
2011/09/20 Javascript
Jquery在指定DIV加载HTML示例代码
2014/02/17 Javascript
使用JavaScript进行进制转换将字符串转换为十进制
2014/09/21 Javascript
使用js画图之圆、弧、扇形
2015/01/12 Javascript
HTML5之WebSocket入门3 -通信模型socket.io
2015/08/21 Javascript
AngularJS下对数组的对比分析
2016/08/24 Javascript
jQuery Validate插件自定义验证规则的方法
2016/12/27 Javascript
jQuery插件JWPlayer视频播放器用法实例分析
2017/01/11 Javascript
nodejs个人博客开发第一步 准备工作
2017/04/12 NodeJs
Express使用html模板的详细代码
2017/09/18 Javascript
浅析Vue自定义组件的v-model
2017/11/26 Javascript
JS与jQuery判断文本框还剩多少字符可以输入的方法
2018/09/01 jQuery
JS/jQuery实现获取时间的方法及常用类完整示例
2019/03/07 jQuery
使用 js 简单的实现 bind、call 、aplly代码实例
2019/09/07 Javascript
[02:49:21]2019完美盛典全程录像
2019/12/08 DOTA
利用python对Excel中的特定数据提取并写入新表的方法
2018/06/14 Python
在Qt中正确的设置窗体的背景图片的几种方法总结
2019/06/19 Python
Python Django框架模板渲染功能示例
2019/11/08 Python
Python super()函数使用及多重继承
2020/05/06 Python
css3背景图片透明叠加属性cross-fade简介及用法实例
2013/01/08 HTML / CSS
使用phonegap检测网络状态的方法
2017/03/30 HTML / CSS
加拿大休闲和工业服装和鞋类零售商:L’Équipeur
2018/01/12 全球购物
波兰在线杂货店:Polski Koszyk
2019/11/02 全球购物
介绍一下EJB的体系结构
2012/08/01 面试题
行政经理岗位职责
2013/11/09 职场文书
2014学生会工作总结报告
2014/12/02 职场文书
2016年党员岗位承诺书
2016/03/24 职场文书
python Polars库的使用简介
2021/04/21 Python