smarty模板中使用get、post、request、cookies、session变量的方法


Posted in PHP onApril 24, 2014

{$smarty}保留变量不需要从PHP脚本中分配,是可以在模板中直接访问的数组类型变量,通常被用于访问一些特殊的模板变量。例如,直接在模板中访问页面请求变量、获取访问模板时的时间戳、直接访问PHP中的常量、从配置文件中读取变量等。

1.在模板中访问页面请求变量

我 们可以在PHP脚本中,通过超级全局数组$_GET、$_POST、$_REQUEST获取在客户端以不同方法提交给服务器的数据,也可以通 过$_COOKIE或$_SESSION在多个脚本之间跟踪变量,或是通过$_ENV和$_SERVER获取系统环境变量。如果在模板中需要这些数组,可 以调用Smarty对象中的assign()方法分配给模板。但在Smarty模板中,直接就可以通过{$smarty}保留变量访问这些页面请求变量。 在模板中使用的示例如下所示:

PHP代码

1. {$smarty.get.page} {* PHP方式:$_GET["page"] *}  

2. {$smarty.post.page} {* PHP方式:$_POST["page"] *}  

3. {$smarty.cookies.username} {* PHP方式:$_COOKIE["username"] *}  

4. {$smarty.session.id} {* PHP方式:$_SESSION["id"] *}  

5. {$smarty.server.SERVER_NAME} {* PHP方式:$_SERVER["SERVER_NAME"] *}  

6. {$smarty.env.PATH} {* PHP方式:$_ENV["PATH"]*}  

7. {$smarty.request.username} {* PHP方式:$_REQUEST["username"] *} 
2.在模板中访问PHP中的变量

在PHP脚本中有系统常量和自定义常量两种,同样这两种常量在Smarty模板中也可以被访问,而且不需要从PHP中分配,只要通过{$smarty}保留变量就可以直接输出常量的值。在模板中输出常量的示例如下所示:

1、 {$smarty.const._MY_CONST_VAL} {* 输出PHP脚本中自定义的常量 *}  

2、 {$smarty.const.__FILE__} {* 通过保留变量数组直接输出系统常量 *} 

3、其它

1.{$smarty.now}变量用于访问当前时间戳

可以用 date_format调节器格式化输出. 例如{$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"}

2.{$smarty.const}

你可以直接访问PHP常量. 例如{$smarty.const._MY_CONST_VAL}

3.{$smarty.capture}

可以通过 {capture}..{/capture}结构 截取的输出可以使用{$smarty} 变量访问.   

4.{$smarty.config}

{$smarty}变量 可以访问已经加载的config变量

例如 {$smarty.config.foo}就可以表示 {#foo#}

5.{$smarty.section}, {$smarty.foreach}

{$smarty} 变量可以访问'section'和'foreach'循环的属性

6.{$smarty.template} 显示当前被处理的模板的名字

7.{$smarty.version}

显示smarty模板的版本

8.{$smarty.ldelim} 显示左分隔符

9.{$smarty.rdelim} 显示右分隔符

PHP 相关文章推荐
phpMyAdmin 安装教程全攻略
Mar 19 PHP
php不用内置函数对数组排序的两个算法代码
Feb 08 PHP
AMFPHP php远程调用(RPC, Remote Procedure Call)工具 快速入门教程
May 10 PHP
关于PHP内存溢出问题的解决方法
Jun 25 PHP
PHP移动文件指针ftell()、fseek()、rewind()函数总结
Nov 18 PHP
thinkPHP基于ajax实现的菜单与分页示例
Jul 12 PHP
适合PHP初学者阅读的4本经典书籍
Sep 23 PHP
php实现连接access数据库并转txt写入的方法
Feb 08 PHP
PHP实现执行外部程序的方法详解
Aug 17 PHP
PHP Redis扩展无法加载的问题解决方法
Aug 22 PHP
解决laravel(5.5)访问public报错的问题
Oct 12 PHP
tp5使用layui实现多个图片上传(带附件选择)的方法实例
Nov 17 PHP
php冒泡排序、快速排序、快速查找、二维数组去重实例分享
Apr 24 #PHP
php获取中文拼音首字母类和函数分享
Apr 24 #PHP
PHP获取浏览器信息类和客户端地理位置的2个方法
Apr 24 #PHP
php中有关字符串的4个函数substr、strrchr、strstr、ereg介绍和使用例子
Apr 24 #PHP
php计算当前程序执行时间示例
Apr 24 #PHP
php实现的百度搜索某地天气的小偷代码
Apr 23 #PHP
php url路由入门实例
Apr 23 #PHP
You might like
PHP中的类-什么叫类
2006/11/20 PHP
ajax php传递和接收变量实现思路及代码
2012/12/19 PHP
浅谈php数组array_change_key_case() 函数和array_chunk()函数
2016/10/22 PHP
php 删除指定文件夹的实例讲解
2017/07/25 PHP
PHP实现用户异地登录提醒功能的方法【基于thinkPHP框架】
2018/03/15 PHP
setTimeout和setInterval的浏览器兼容性分析
2007/02/27 Javascript
jquery插件 cluetip 关键词注释
2010/01/12 Javascript
javascript 解析url的search方法
2010/02/09 Javascript
jquery validate poshytip 自定义样式
2012/11/26 Javascript
基于JavaScript自定义构造函数的详解说明
2013/04/24 Javascript
js倒计时小程序
2013/11/05 Javascript
jquery实现网页定位导航
2016/08/23 Javascript
javascript cookie基础应用之记录用户名的方法
2016/09/20 Javascript
分享一个原生的JavaScript拖动方法
2016/09/25 Javascript
AngularJs上传前预览图片的实例代码
2017/01/20 Javascript
javascript 操作cookies详解及实例
2017/02/22 Javascript
AngularJs定时器$interval 和 $timeout详解
2017/05/25 Javascript
jQuery动画_动力节点节点Java学院整理
2017/07/04 jQuery
使用JS和canvas实现gif动图的停止和播放代码
2017/09/01 Javascript
基于express中路由规则及获取请求参数的方法
2018/03/12 Javascript
js replace 全局替换的操作方法
2018/06/12 Javascript
vue生命周期与钩子函数简单示例
2019/03/13 Javascript
浅谈layui 数据表格前后台传值的问题
2019/09/12 Javascript
vue实现移动端图片上传功能
2019/12/23 Javascript
javascript 使用sleep函数的常见方法详解
2020/04/26 Javascript
微信小程序实现底部弹出模态框
2020/11/18 Javascript
[01:24]2014DOTA2 TI第二日 YYF表示这届谁赢都有可能
2014/07/11 DOTA
[00:35]DOTA2上海特级锦标赛 EG战队宣传片
2016/03/04 DOTA
TensorFlow实现卷积神经网络CNN
2018/03/09 Python
Python3.6使用tesseract-ocr的正确方法
2018/10/17 Python
Python利用pip安装tar.gz格式的离线资源包
2020/09/14 Python
利用CSS3的checked伪类实现OL的隐藏显示的方法
2010/12/18 HTML / CSS
个人生活学习自我评价范文
2013/11/26 职场文书
大学生求职计划书
2014/04/30 职场文书
孟佩杰观后感
2015/06/17 职场文书
世界文化遗产导游词
2019/08/07 职场文书