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输出控制功能在简繁体转换中的应用
Oct 09 PHP
谈谈PHP语法(5)
Oct 09 PHP
php md5下16位和32位的实现代码
Apr 09 PHP
php json_encode奇怪问题说明
Sep 27 PHP
php环境配置之CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI比较?
Oct 17 PHP
Linux中用PHP判断程序运行状态的2个方法
May 04 PHP
PHP实现返回JSON和XML的类分享
Jan 28 PHP
ThinkPHP自定义函数解决模板标签加减运算的方法
Jul 03 PHP
CodeIgniter配置之autoload.php自动加载用法分析
Jan 20 PHP
php7安装mongoDB扩展的方法分析
Aug 02 PHP
PHP设计模式(四)原型模式Prototype实例详解【创建型】
May 02 PHP
PHP 实现重载
Mar 09 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基础学习笔记
2007/03/18 PHP
基于php在各种web服务器的运行模式详解
2013/06/03 PHP
php实现基于openssl的加密解密方法
2016/09/30 PHP
PHP 以POST方式提交XML、获取XML,解析XML详解及实例
2016/10/26 PHP
php操作redis数据库常见方法实例总结
2020/02/20 PHP
jquery sortable的拖动方法示例详解
2014/01/16 Javascript
Javascript简单改变表单元素背景的方法
2015/07/15 Javascript
全面解析多种Bootstrap图片轮播效果
2016/05/27 Javascript
你不知道的 javascript【推荐】
2017/01/08 Javascript
从零学习node.js之利用express搭建简易论坛(七)
2017/02/25 Javascript
微信小程序 五星评价功能的实现
2017/03/09 Javascript
原生js二级联动效果
2017/06/20 Javascript
JS返回顶部实例代码
2020/08/09 Javascript
JavaScript使用递归和循环实现阶乘的实例代码
2018/08/28 Javascript
使用xampp将angular项目运行在web服务器的教程
2019/09/16 Javascript
javascript如何实现create方法
2019/11/04 Javascript
js实现课堂随机点名系统
2019/11/21 Javascript
JavaScript实现鼠标移入随机变换颜色
2020/11/24 Javascript
[19:59]2014DOTA2国际邀请赛 IG战队纪录片
2014/08/07 DOTA
[44:04]OG vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
用python结合jieba和wordcloud实现词云效果
2017/09/05 Python
Java及python正则表达式详解
2017/12/27 Python
Python3 实现随机生成一组不重复数并按行写入文件
2018/04/09 Python
Python pandas自定义函数的使用方法示例
2019/11/20 Python
python实现串口通信的示例代码
2020/02/10 Python
html5的websockets全双工通信详解学习示例
2014/02/26 HTML / CSS
Asics日本官网:鬼冢八喜郎创立的跑鞋运动品牌
2017/10/18 全球购物
文员自我评价怎么写
2013/09/19 职场文书
机械专业应届生求职信
2013/12/12 职场文书
人资专员岗位职责
2014/04/04 职场文书
党员进社区活动总结
2015/05/07 职场文书
学习心得体会
2019/06/20 职场文书
共青团优秀团员申请书(范文)
2019/08/15 职场文书
springboot集成springCloud中gateway时启动报错的解决
2021/07/16 Java/Android
MySQL中order by的执行过程
2022/06/05 MySQL
HTML静态页面获取url参数和UserAgent的实现
2022/08/05 HTML / CSS