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数组函数序列之array_search()- 按元素值返回键名
Nov 04 PHP
PHP 文本文章分页代码 按标记或长度(不涉及数据库)
Jun 07 PHP
PHP常用开发函数解析之数组篇[未完结]
Jul 30 PHP
基于Zend的Captcha机制的应用
May 02 PHP
php curl获取网页内容(IPV6下超时)的解决办法
Jul 16 PHP
php读取目录所有文件信息dir示例
Mar 18 PHP
PHP编译安装时常见错误解决办法
May 28 PHP
yii2.0实现验证用户名与邮箱功能
Dec 22 PHP
PHP获取IP地址所在地信息的实例(使用纯真IP数据库qqwry.dat)
Nov 15 PHP
PHP 中常量的知识整理
Apr 14 PHP
php编程实现简单的网页版计算器功能示例
Apr 26 PHP
Laravel如何使用Redis共享Session
Feb 23 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获取MAC地址的函数代码
2011/09/11 PHP
PHP文件上传之多文件上传的实现思路
2016/01/27 PHP
PHP的mysqli_sqlstate()函数讲解
2019/01/23 PHP
教你在heroku云平台上部署Node.js应用
2014/07/30 Javascript
一个很有趣3D球状标签云兼容IE8
2014/08/22 Javascript
jQuery标签替换函数replaceWith()的使用例子
2014/08/28 Javascript
JavaScript中原型和原型链详解
2015/02/11 Javascript
在linux中使用包管理器安装node.js
2015/03/13 Javascript
JavaScript实现数组在指定位置插入若干元素的方法
2015/04/06 Javascript
js实现点击链接后延迟3秒再跳转的方法
2015/06/05 Javascript
谈一谈jQuery核心架构设计
2016/03/28 Javascript
全面解析Bootstrap中Carousel轮播的使用方法
2016/06/13 Javascript
AngularJS入门教程之服务(Service)
2016/07/27 Javascript
关于JS中的方法是否加括号的问题
2016/07/27 Javascript
jQuery操作复选框(CheckBox)的取值赋值实现代码
2017/01/10 Javascript
react开发中如何使用require.ensure加载es6风格的组件
2017/05/09 Javascript
用JavaScript做简易的购物车的代码示例
2017/10/20 Javascript
详解HTML5 使用video标签实现选择摄像头功能
2017/10/25 Javascript
简化vuex的状态管理方案的方法
2018/06/02 Javascript
Vue+Element实现表格编辑、删除、以及新增行的最优方法
2019/05/28 Javascript
vue 集成 vis-network 实现网络拓扑图的方法
2019/08/07 Javascript
JS中的算法与数据结构之字典(Dictionary)实例详解
2019/08/20 Javascript
layui自定义工具栏的方法
2019/09/19 Javascript
Vue+Element UI 树形控件整合下拉功能菜单(tree + dropdown +input)
2020/08/28 Javascript
详解为什么Vue中的v-if和v-for不建议一起用
2021/01/13 Vue.js
[26:50]2018完美盛典DOTA2表演赛
2018/12/17 DOTA
python获取标准北京时间的方法
2015/03/24 Python
Python运维自动化之nginx配置文件对比操作示例
2018/08/29 Python
pygame游戏之旅 如何制作游戏障碍
2018/11/20 Python
Python编程在flask中模拟进行Restful的CRUD操作
2018/12/28 Python
Python3 列表,数组,矩阵的相互转换的方法示例
2019/08/05 Python
Html5之title吸顶功能
2018/06/04 HTML / CSS
美国办公用品折扣网站:Shoplet.com
2019/11/24 全球购物
名人演讲稿范文
2013/12/28 职场文书
大学毕业生求职自荐信
2014/02/20 职场文书
实习推荐信格式模板
2015/03/27 职场文书