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 相关文章推荐
用php和MySql来与ODBC数据连接
Oct 09 PHP
php网上商城购物车设计代码分享
Feb 15 PHP
PHP 透明水印生成代码
Aug 27 PHP
PHP同时连接多个mysql数据库示例代码
Mar 17 PHP
PHP中array_map与array_column之间的关系分析
Aug 19 PHP
CentOS 安装 PHP5.5+Redis+XDebug+Nginx+MySQL全纪录
Mar 25 PHP
PHP编程之设置apache虚拟目录
Jul 08 PHP
基于thinkPHP实现的微信自定义分享功能示例
Sep 23 PHP
php计算多个集合的笛卡尔积实例详解
Feb 16 PHP
PHP基于方差和标准差计算学生成绩的稳定性示例
Jul 04 PHP
ThinkPHP框架表单验证操作方法
Jul 19 PHP
PHP实现的大文件切割与合并功能示例
Apr 10 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 数组和字符串互相转换实现方法
2013/03/26 PHP
PHP+javascript制作带提示的验证码源码分享
2014/05/28 PHP
PHP连接和操作MySQL数据库基础教程
2014/09/29 PHP
PHP中error_log()函数的使用方法
2015/01/20 PHP
解决php的“It is not safe to rely on the system’s timezone settings”问题
2015/10/08 PHP
详解PHP实现定时任务的五种方法
2016/07/25 PHP
PHP魔术方法以及关于独立实例与相连实例的全面讲解
2016/10/18 PHP
javascript 打开页面window.location和window.open的区别
2010/03/17 Javascript
jquery 表格分页等操作实现代码(pagedown,pageup)
2010/04/11 Javascript
基于jquery的动态创建表格的插件
2011/04/05 Javascript
jquery.Jwin.js 基于jquery的弹出层插件代码
2012/05/23 Javascript
JavaScript mapreduce工作原理简析
2012/11/25 Javascript
Jquery创建层显示标题和内容且随鼠标移动而移动
2014/01/26 Javascript
node.js中的fs.existsSync方法使用说明
2014/12/17 Javascript
JavaScript实现Flash炫光波动特效
2015/05/14 Javascript
关于backbone url请求中参数带有中文存入数据库是乱码的快速解决办法
2016/06/13 Javascript
React Native日期时间选择组件的示例代码
2018/04/27 Javascript
使用ng-packagr打包Angular的方法示例
2018/09/21 Javascript
JavaScript事件冒泡机制原理实例解析
2020/01/14 Javascript
vue3中轻松实现switch功能组件的全过程
2021/01/07 Vue.js
Python os模块中的isfile()和isdir()函数均返回false问题解决方法
2015/02/04 Python
Python工程师面试题 与Python基础语法相关
2016/01/14 Python
python利用paramiko连接远程服务器执行命令的方法
2017/10/16 Python
PyQt5的PyQtGraph实践系列3之实时数据更新绘制图形
2019/05/13 Python
PyQt5 实现字体大小自适应分辨率的方法
2019/06/18 Python
对Python中class和instance以及self的用法详解
2019/06/26 Python
杭州SQL浙江浙大网新恩普软件有限公司
2013/07/27 面试题
《盲人摸象》教学反思
2014/02/16 职场文书
奥巴马经典演讲稿
2014/09/13 职场文书
店铺转让协议书
2015/01/29 职场文书
复试通知单模板
2015/04/24 职场文书
古诗之爱国古诗5首
2019/09/20 职场文书
python 网络编程要点总结
2021/06/18 Python
AJAX实现指定部分页面刷新效果
2021/10/16 Javascript
Python OpenCV超详细讲解基本功能
2022/04/02 Python
MyBatis配置文件解析与MyBatis实例演示
2022/04/07 Java/Android