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 和 XML: 使用expat函数(一)
Oct 09 PHP
支持php4、php5的mysql数据库操作类
Jan 10 PHP
Php Ctemplate引擎开发相关内容
Mar 03 PHP
php使用mb_check_encoding检查字符串在指定的编码里是否有效
Nov 07 PHP
php获取新浪微博数据API实例
Nov 12 PHP
PHP_Cooikes不同页面无法传递的解决方法
Mar 07 PHP
PHP错误Parse error: syntax error, unexpected end of file in test.php on line 12解决方法
Jun 23 PHP
PHP基于php_imagick_st-Q8.dll实现JPG合成GIF图片的方法
Jul 11 PHP
curl 出现错误的调试方法(必看)
Feb 13 PHP
PHP实现的堆排序算法详解
Aug 17 PHP
php解决crontab定时任务不能写入文件问题的方法分析
Sep 16 PHP
laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析
Feb 18 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/07/22 PHP
php $_SERVER windows系统与linux系统下的区别说明
2014/02/14 PHP
php数组去重复数据示例
2014/02/25 PHP
php文件操作小结(删除指定文件/获取文件夹下的文件名/读取文件夹下图片名)
2016/05/09 PHP
一个可以显示阴历的JS代码
2007/03/05 Javascript
jQuery 渐变下拉菜单
2009/12/15 Javascript
一些主流JS框架中DOMReady事件的实现小结
2011/02/12 Javascript
js读写(删除)Cookie实例详解
2013/04/17 Javascript
通过action传过来的值在option获取进行验证的方法
2013/11/14 Javascript
Angular中的Promise对象($q介绍)
2015/03/03 Javascript
jquery实现仿JqueryUi可拖动的DIV实例
2015/07/31 Javascript
Bootstrap导航简单实现代码
2017/03/06 Javascript
bootstrap suggest搜索建议插件使用详解
2017/03/25 Javascript
vue简单练习 桌面时钟的实现代码实例
2019/09/19 Javascript
javascript实现贪吃蛇游戏(娱乐版)
2020/08/17 Javascript
vue大型项目之分模块运行/打包的实现
2020/09/21 Javascript
Vue实现开关按钮拖拽效果
2020/09/22 Javascript
在Python中处理日期和时间的基本知识点整理汇总
2015/05/22 Python
Python正则表达式教程之二:捕获篇
2017/03/02 Python
python 实现上传图片并预览的3种方法(推荐)
2017/07/14 Python
详解tensorflow载入数据的三种方式
2018/04/24 Python
对pandas中Series的map函数详解
2018/07/25 Python
对python中xlsx,csv以及json文件的相互转化方法详解
2018/12/25 Python
python assert的用处示例详解
2019/04/01 Python
python画双y轴图像的示例代码
2019/07/07 Python
python plotly绘制直方图实例详解
2019/07/22 Python
详解Python list和numpy array的存储和读取方法
2019/11/06 Python
Python for i in range ()用法详解
2020/09/18 Python
Python AutoCAD 系统设置的实现方法
2020/04/01 Python
浅谈matplotlib 绘制梯度下降求解过程
2020/07/12 Python
python 实现socket服务端并发的四种方式
2020/12/14 Python
Waterford加拿大官方网站:世界著名的水晶杯品牌
2016/11/01 全球购物
培训主管岗位职责
2014/02/01 职场文书
2015年社区创卫工作总结
2015/04/21 职场文书
计算机实训心得体会
2016/01/14 职场文书
python基础之爬虫入门
2021/05/10 Python