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生成带有雪花背景的验证码
Sep 28 PHP
php中CI操作多个数据库的代码
Jul 05 PHP
php验证手机号码(支持归属地查询及编码为UTF8)
Feb 01 PHP
PHP遍历某个目录下的所有文件和子文件夹的实现代码
Jun 28 PHP
js限制checkbox勾选的个数以及php获取多个checkbbox的方法深入解析
Jul 18 PHP
thinkphp3.0输出重复两次的解决方法
Dec 19 PHP
memcache一致性hash的php实现方法
Mar 05 PHP
微信公众平台开发实现2048游戏的方法
Apr 15 PHP
php递归实现无限分类的方法
Jul 28 PHP
PHP 信号管理知识整理汇总
Feb 19 PHP
Yii框架参数化查询中IN查询只能查询一个的解决方法
May 20 PHP
laravel 实现用户登录注销并限制功能
Oct 24 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
留言板翻页的实现详解
2006/10/09 PHP
?生?D片??C字串
2006/12/06 PHP
使用php验证复选框有效性的示例
2013/11/13 PHP
CI框架实现优化文件上传及多文件上传的方法
2017/01/04 PHP
extjs grid设置某列背景颜色和字体颜色的实现方法
2010/09/06 Javascript
IE下使用cloneNode注意事项分享
2012/11/22 Javascript
jquery.cookie.js使用指南
2015/01/05 Javascript
jQuery 3.0 的变化及使用方法
2016/02/01 Javascript
JavaScript的Backbone.js框架入门学习指引
2016/05/07 Javascript
jQuery实现的placeholder效果完整实例
2016/08/02 Javascript
浅谈js script标签中的预解析
2016/12/30 Javascript
微信小程序 form组件详解及简单实例
2017/01/10 Javascript
jQuery导航条固定定位效果实例代码
2017/05/26 jQuery
nodejs结合socket.io实现websocket通信功能的方法
2018/01/12 NodeJs
JavaScript求一组数的最小公倍数和最大公约数常用算法详解【面向对象,回归迭代和循环】
2018/05/07 Javascript
jQuery实现轮播图及其原理详解
2020/04/12 jQuery
解决Vue-cli npm run build生产环境打包,本地不能打开的问题
2018/09/20 Javascript
vue计算属性computed、事件、监听器watch的使用讲解
2019/01/21 Javascript
vue文件运行的方法教学
2019/02/12 Javascript
原生js实现二级联动菜单
2019/11/27 Javascript
JavaScript 实现拖拽效果组件功能(兼容移动端)
2020/11/11 Javascript
[04:37]DOTA2英雄梦之声Vol20发条
2014/06/20 DOTA
python中实现php的var_dump函数功能
2015/01/21 Python
Centos5.x下升级python到python2.7版本教程
2015/02/14 Python
Python实现找出数组中第2大数字的方法示例
2018/03/26 Python
python读取文本绘制动态速度曲线
2018/06/21 Python
浅谈python 读excel数值为浮点型的问题
2018/12/25 Python
PyQt5的安装配置过程,将ui文件转为py文件后显示窗口的实例
2019/06/19 Python
django2笔记之路由path语法的实现
2019/07/17 Python
python 列表推导式使用详解
2019/08/29 Python
python实现两个一维列表合并成一个二维列表
2019/12/02 Python
HTML5实现获取地理位置信息并定位功能
2015/04/25 HTML / CSS
伦敦剧院及景点门票:Encore Tickets
2018/07/01 全球购物
Brydge英国:适用于Apple iPad和Microsoft Surface Pro的蓝牙键盘
2019/05/16 全球购物
举例说明类变量和实例变量的区别
2016/06/30 面试题
2014年医院个人工作总结
2014/12/09 职场文书