本文实例讲述了PHP模板引擎Smarty中的保留变量用法。分享给大家供大家参考,具体如下:
在 Smarty 中,有一些保留变量,它们是不需要 PHP 脚本去分配就可以直接使用,即不用使用 $_tpl->assign('var','value') 去分配。
1、在模板中访问页面请求的变量
1
2
3
4
5
6
7
|
{ $smarty .get.user} == $_GET [ 'user' ]
{ $smarty .post.user} == $_POST [ 'user' ]
{ $smarty .cookie.username} == $_COOKIE [ 'username' ]
{ $smarty .session.username} == $_SESSION [ 'username' ]
{ $smarty .server.REMOTE_ADDR} == $_SERVER [ "REMOTE_ADDR" ]
{ $smarty .env.PATH} == $_ENV [ 'PATH' ]
{ $smarty .request.username} == $_REQUEST [ 'username' ]
|
2、在模板文件中访问 PHP 脚本中定义的常量和系统常量
1
2
|
{ $smarty . const . __FILE__ } //当前执行的 PHP 文件
{ $smarty . const .CONST_VAR} //访问 PHP 脚本中 define 定义的常量
|
3、在模板文件中获取当前服务器的时间
4、配置文件在模板中的访问
可以通过 {$smarty.config.配置变量} 来访问配置文件中的模板变量。这样的话,在模板中访问配置文件中的变量就有两种方法:一、{#配置变量#};二、{$smarty.config.配置变量},如果有区域的话,也是如此。
5、获取 Smarty 内建函数 capture 捕获的数据
capture函数的作用是捕获模板输出的数据并将其存储到一个变量里,而不是把它们输出到页面,任何在 {capture name="foo"}和{/capture}之间的数据将被存储到变量$foo中,该变量由name属性指定。在模板中通过 $smarty.capture.foo 访问该变量,如果没有指定 name 属性,函数默认将使用 "default" 作为参数。
6、保留变量 $smarty.foreach
$smarty.foreach 获取 foreach 循环数组的一些信息,比如数组的个数、递增+1……,关于 $smarty.foreach 的使用,详细内容可参考前面一篇《PHP模板引擎Smarty内建函数foreach,foreachelse用法分析》
希望本文所述对大家基于smarty模板的PHP程序设计有所帮助。