$smarty获取变量get,post等用法
{$smarty}保留变量不需要从PHP脚本中分配,是可以在模板中直接访问的数组类型变量,通常被用于访问一些特殊的模板变量。例如,直接在模板中访问页面请求变量、获取访问模板时的时间邮戳、直接访问PHP中的常量、从配置文件中读取变量等。
该保留变量中的部分访问介绍如下。
1.在模板中访问页面请求变量
我们可以在PHP脚本中,通过超级全局数组$_GET、$_POST、$_REQUEST获取在客户端以
不同方法提交给服务器的数据,也可以通过$_COOKIE或$_SESSION在多个脚本之间跟踪
变量,或是通过$_ENV和$_SERVER获取系统环境变量。如果在模板中需要这些数组,可
以调用Smarty对象中的assign()方法分配给模板。但在Smarty模板中,直接就可以通
过{$smarty}保留变量访问这些页面请求变量。在模板中使用的示例如下所示:
{$smarty.get.page} {* PHP方式:$_GET["page"] *}
{$smarty.post.page} {* PHP方式:$_POST["page"] *}
{$smarty.cookies.username} {* PHP方式:$_COOKIE["username"] *}
{$smarty.session.id} {* PHP方式:$_SESSION["id"] *}
{$smarty.server.SERVER_NAME} {* PHP方式:$_SERVER["SERVER_NAME"] *}
{$smarty.env.PATH} {* PHP方式:$_ENV["PATH"]*}
{$smarty.request.username} {* PHP方式:$_REQUEST["username"] *}
2.在模板中访问PHP中的变量
在PHP脚本中有系统常量和自定义常量两种,同样这两种常量在Smarty模板中也可以被
访问,而且不需要从PHP中分配,只要通过{$smarty}保留变量就可以直接输出常量的
值。在模板中输出常量的示例如下所示:
{$smarty.const._MY_CONST_VAL} {* 输出PHP脚本中自定义的常量 *}
{$smarty.const.__FILE__} {* 通过保留变量数组直接输出系统常量 *}
随机推荐
- JavaScript:编程改变文本样式
<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" Content=&q ...
- 使用Jmeter监测服务器cpu、内存等性能
jmeter中可以监控服务器的CPU和内存使用情况,但是需要安装一些插件还需要在被监测服务器上开启服务. 1.下载JMeterPlugins-Standard-1.4.0.zip插件.下载后将JMet ...
- idea使用心得(4)-踩过的坑
1.非法的表达式开始 / 需要';' / 未结束的字符串文字 表现形式: 原因/解决: 这个一定是文件编码问题:依次检查setting中的file Encodings 中的IDE ...
- JMeter学习-039-JMeter 3.0 生成 dashboard HTML 报告图表中文乱码
近期,经常有人问 JMeter 3.0 使用时,生成的 HTML 报告图表中的中文乱码问题.在此,简略的说一下解决的方法. 编码相关信息如下: 1.查看控制 csv.xml 等配置结果文件生成.读取的 ...
- iOS学习路线图
一.iOS学习路线图 二.iOS学习路线图--视频篇 阶 段 学完后目标 知识点 配套学习资源(笔记+源码+PPT) 密码 基础阶段 学习周期:24天 学习后目标: ...
- Python之路-python(css、JavaScript)
css JavaScript 一.CSS 分层: position: fixed;(固定到页面的具体位置) 例如:返回顶部 <!DOCTYPE html> <html lang=&q ...
- PHP无限极分类,多种方法|很简单,这里说的很详细,其它地方说的很不好懂
当你学习php无限极分类的时候,大家都觉得一个字"难"我也觉得很难,所以,现在都还在看,因为工作要用到,所以,就必须得研究研究. 到网上一搜php无限极分类,很多,但好多都是一 ...
- ASP.NET Core – 2300% More Requests Served Per Second
http://www.ageofascent.com/asp-net-core-exeeds-1-15-million-requests-12-6-gbps/ ASP.NET Core – Excee ...
- sys.argv
import sys i=0 print len(sys.argv) while i < len(sys.argv): print 'sys.argv[%d]:%s' %(i,sys.argv[ ...
- C# 连接Oracle ,免安装客户端
在.NET平台下开发Oracle应用的小伙伴们肯定都知道一方面做Oracle开发和实施相比SqlServer要安装Oracle客户端(XCopy.自己提取相关文件也有一定复杂性),另一方面相比JAVA ...