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 相关文章推荐
php5 apache 2.2 webservice 创建与配置(java)
Jan 27 PHP
php中将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串
Aug 23 PHP
php数组函数序列之array_unshift() 在数组开头插入一个或多个元素
Nov 07 PHP
url decode problem 解决方法
Dec 26 PHP
初识php MVC
Sep 10 PHP
变量在 PHP7 内部的实现(二)
Dec 21 PHP
纯PHP代码实现支付宝批量付款
Dec 24 PHP
php通过淘宝API查询IP地址归属等信息
Dec 25 PHP
java微信开发之上传下载多媒体文件
Jun 24 PHP
php获取服务器操作系统相关信息的方法
Oct 08 PHP
PHP批量删除jQuery操作
Jul 23 PHP
laravel 解决groupBy时出现的错误 isn't in Group By问题
Oct 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输入流php://input使用浅析
2014/09/02 PHP
php实现的任意进制互转类分享
2015/07/07 PHP
纯php生成随机密码
2015/10/30 PHP
分享PHP-pcntl 实现多进程代码
2016/09/30 PHP
web页面数据展示新想法(json)
2010/06/08 Javascript
JavaScript 通过模式匹配实现重载
2010/08/12 Javascript
jQuery EasyUI 的EasyLoader功能介绍
2010/09/12 Javascript
Jquery公告滚动+AJAX后台得到数据
2011/04/14 Javascript
Javascript基础教程之数据类型转换
2015/01/18 Javascript
JQuery点击行tr实现checkBox选中的简单实例
2016/05/26 Javascript
浅谈js中调用函数时加不加括号的问题
2016/07/28 Javascript
浅谈jquery设置和获得checkbox选中的问题
2016/08/19 Javascript
基于jQuery实现顶部导航栏功能
2016/12/27 Javascript
详解nodeJS之路径PATH模块
2017/05/31 NodeJs
纯js实现页面返回顶部的动画(超简单)
2017/08/10 Javascript
浅谈Angular HttpClient简单入门
2018/05/04 Javascript
vue项目中添加单元测试的方法
2018/07/21 Javascript
Vue中使用vux配置代码详解
2018/09/16 Javascript
web页面和微信小程序页面实现瀑布流效果
2018/09/26 Javascript
如何在Vue.JS中使用图标组件
2020/08/04 Javascript
详解Python Socket网络编程
2016/01/05 Python
Python自动化运维和部署项目工具Fabric使用实例
2016/09/18 Python
解决pandas 作图无法显示中文的问题
2018/05/24 Python
解决python中使用plot画图,图不显示的问题
2018/07/04 Python
Python  unittest单元测试框架的使用
2018/09/08 Python
使用python实现http及ftp服务进行数据传输的方法
2018/10/26 Python
Python小进度条显示代码
2019/03/05 Python
Python空间数据处理之GDAL读写遥感图像
2019/08/01 Python
详解Pycharm第三方库的安装及使用方法
2020/12/29 Python
小程序canvas中文字设置居中锚点
2019/04/16 HTML / CSS
Dr. Martens马汀博士澳大利亚官网:马丁靴鼻祖
2019/07/02 全球购物
外企财务年会演讲稿
2014/01/03 职场文书
让生命充满爱观后感
2015/06/08 职场文书
篮球比赛通讯稿
2015/07/18 职场文书
《祁黄羊》教学反思
2016/02/20 职场文书