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将数据导入到Foxmail
Oct 09 PHP
php简单封装了一些常用JS操作
Feb 25 PHP
php cookis创建实现代码
Mar 16 PHP
PHP执行linux系统命令的常用函数使用说明
Apr 27 PHP
php tp验证表单与自动填充函数代码
Feb 22 PHP
解析PHP生成静态html文件的三种方法
Jun 18 PHP
php利用cookies实现购物车的方法
Dec 10 PHP
php上传大文件失败的原因及应对策略
Oct 20 PHP
thinkPHP+ajax实现统计页面pv浏览量的方法
Mar 15 PHP
PHP中TP5 上传文件的实例详解
Jul 31 PHP
PHP实现的多进程控制demo示例
Jul 22 PHP
PHP基于timestamp和nonce实现的防止重放攻击方案分析
Jul 26 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环境套包 dedeampz 伪静态设置示例
2014/03/26 PHP
WIN8.1下搭建PHP5.6环境
2015/04/29 PHP
WordPress 照片lightbox效果的运用几点
2009/06/22 Javascript
5款Javascript颜色选择器
2009/10/25 Javascript
js href的用法
2010/05/13 Javascript
鼠标事件延时切换插件
2011/03/12 Javascript
javascript判断是手机还是电脑访问网页的简单实例分享
2014/06/03 Javascript
javascript实现避免页面按钮重复提交
2015/01/08 Javascript
详谈javascript中的cookie
2015/06/03 Javascript
JS+CSS实现表格高亮的方法
2015/08/05 Javascript
JS实现仿Windows7风格的网页右键菜单效果代码
2015/09/11 Javascript
最简单的JS实现json转csv的方法
2019/01/10 Javascript
微信小程序实现九宫格抽奖
2020/04/15 Javascript
[03:42]2014DOTA2西雅图国际邀请赛 Navi战队巡礼
2014/07/07 DOTA
[47:52]完美世界DOTA2联赛PWL S2 PXG vs InkIce 第二场 11.26
2020/11/30 DOTA
Python 中迭代器与生成器实例详解
2017/03/29 Python
Python编程之黑板上排列组合,你舍得解开吗
2017/10/30 Python
Python3实现爬取简书首页文章标题和文章链接的方法【测试可用】
2018/12/11 Python
对Python3.x版本print函数左右对齐详解
2018/12/22 Python
详解python3安装pillow后报错没有pillow模块以及没有PIL模块问题解决
2019/04/17 Python
详解PyCharm安装MicroPython插件的教程
2019/06/24 Python
python多线程同步实例教程
2019/08/11 Python
Python图像处理库PIL的ImageEnhance模块使用介绍
2020/02/26 Python
美国电子元器件分销商:Newark element14
2018/01/13 全球购物
C语言编程练习
2012/04/02 面试题
就业自荐信
2013/12/04 职场文书
服装厂厂长岗位职责
2013/12/27 职场文书
职业生涯规划书基本格式
2014/01/06 职场文书
《美丽的彩虹》教学反思
2014/02/25 职场文书
厨房管理计划书
2014/04/27 职场文书
数控专业毕业生求职信
2014/06/12 职场文书
预备党员2014年第四季度思想汇报范文
2014/10/25 职场文书
高一军训决心书
2015/02/05 职场文书
Sql-Server数据库单表查询 4.3实验课
2021/04/05 SQL Server
Elasticsearch 基本查询和组合查询
2022/04/19 Python
Java Redisson多策略注解限流
2022/09/23 Java/Android