{$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__}     {* 通过保留变量数组直接输出系统常量 *}

随机推荐

  1. FDCT变换 公式法

    // 对亮度信号进行FDCT变换// @param   data    亮度信号的存储数组void CompressEncode::standardFDCT(BYTE data[MATRIXSIZE] ...

  2. HTML中添加背景音乐

    <audio controls="controls" height="100" width="100"> <source ...

  3. CSS定位的三种机制:普通流、绝对定位和浮动

    1.普通流: position : static – 元素框正常生成.即上述不对元素进行任何样式设置的默认形态. position : relative (此时设置top, right, bottom ...

  4. visual studio2015从git上clone(克隆)项目

    本文介绍Visual Studio2015从git上clone项目代码的步骤. 1.打开VS2015,进到起始页,打开"团队资源管理器",如下图: 2.点击"克隆&quo ...

  5. windows系统IIS环境下如何部署MVC项目

    首先打开IIS:第一步:添加MVC程序映射 打开其中的:处理程序映射,如下图: 点击界面右边操作中的:添加脚本映射,弹出下图: 请求路径:*           可执行文件:c:/Windows/Mi ...

  6. node的错误处理

    当node程序出现错误的时候,首先是要捕捉到错误,然后处理错误,不能让进程挂掉,最后是将错误写进日志. 1.在app.js最开始写,用process对象,监听uncaughtException事件pr ...

  7. MVC之权限管理-网站开发之路

    一.前言 刚到公司没多长时间就开始接触MVC到现在不能说懂了,只能说到达会用这个层次吧,感觉MVC用来写Web还是很强大的,层次清晰. 今天我来写写关于权限管理这一块,自我感觉网站的权限主要分为菜单权 ...

  8. 限制action所接受的请求方式或请求参数

    原文:http://www.cnblogs.com/liukemng/p/3726897.html 2.限制action所接受的请求方式(get或post): 之前我们在HelloWorldContr ...

  9. VMware 12 CentOS Minimal 安装VMwareTools 找不到头文件kernelheaders

    输入命令: yum install kernel-headers 安装vmware-tools时提示需要kernel headers 输入命令: yum install kernel-devel

  10. Apache与Tomcat的整合

    一 Apache与Tomcat比较联系 apache支持静态页,tomcat支持动态的,比如servlet等. 一般使用apache+tomcat的话,apache只是作为一个转发,对jsp的处理是由 ...