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 相关文章推荐
解决phpmyadmin 乱码,支持gb2312和utf-8
Nov 20 PHP
php递归创建和删除文件夹的代码小结
Apr 13 PHP
深入解析PHP垃圾回收机制对内存泄露的处理
Jun 14 PHP
11个PHPer必须要了解的编程规范
Sep 22 PHP
PHP响应post请求上传文件的方法
Dec 17 PHP
PHP读书笔记_运算符详解
Jul 01 PHP
PHP中的密码加密的解决方案总结
Oct 26 PHP
利用php做服务器和web前端的界面进行交互
Oct 31 PHP
php实现微信公众平台发红包功能
Jun 14 PHP
让Laravel API永远返回JSON格式响应的方法示例
Sep 05 PHP
Laravel 自动转换长整型雪花 ID 为字符串的实现
Oct 27 PHP
PHP设计模式之命令模式示例详解
Dec 20 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/12/06 PHP
PHP将字符分解为多个字符串的方法
2014/11/22 PHP
PHP生成压缩文件实例
2015/02/07 PHP
php下载文件,添加响应头的简单实例
2016/09/22 PHP
PHP基于自增数据如何生成不重复的随机数示例
2017/05/19 PHP
浅谈laravel中的关联查询with的问题
2019/10/10 PHP
javascript prototype,executing,context,closure
2008/12/24 Javascript
用Jquery实现多级下拉框无刷新的联动
2010/12/22 Javascript
JS注释所产生的bug 即使注释也会执行
2013/11/19 Javascript
使用jquery prev()方法找到同级的前一个元素
2014/07/11 Javascript
第三章之Bootstrap 表格与按钮功能
2016/04/25 Javascript
js实现分页功能
2017/05/24 Javascript
Node.js pipe实现源码解析
2017/08/12 Javascript
JS中关于正则的巧妙操作
2017/08/31 Javascript
javaScript 连接打印机,打印小票的实例
2017/12/29 Javascript
vue-cli webpack2项目打包优化分享
2018/02/07 Javascript
angularjs数组判断是否含有某个元素的实例
2018/02/27 Javascript
解决修复npm安装全局模块权限的问题
2018/05/17 Javascript
解决vue2 在mounted函数无法获取prop中的变量问题
2018/11/15 Javascript
JS实现导航栏楼层特效
2020/01/01 Javascript
Sublime Text3 配置 NodeJs 环境的方法
2020/05/20 NodeJs
python 中文字符串的处理实现代码
2009/10/25 Python
总结Python编程中三条常用的技巧
2015/05/11 Python
Python多层嵌套list的递归处理方法(推荐)
2016/06/08 Python
在CentOS6上安装Python2.7的解决方法
2018/01/09 Python
python自动识别文本编码格式代码
2019/12/26 Python
python用TensorFlow做图像识别的实现
2020/04/21 Python
8种常用的Python工具
2020/08/05 Python
利于python脚本编写可视化nmap和masscan的方法
2020/12/29 Python
深入浅析HTML5中的article和section的区别
2018/05/15 HTML / CSS
加拿大花店:1800Flowers.ca
2016/11/16 全球购物
2014初中数学教研组工作总结
2014/12/19 职场文书
职工培训工作总结
2015/08/10 职场文书
感谢信
2019/04/11 职场文书
导游词之大雁塔景区
2019/09/17 职场文书
导游词之襄阳古城
2019/09/27 职场文书