PHP保留{$smarty}变量可以用来存取若干环境变量和请求变量。完整的列表如下。
请求变量诸如$_GET,$_POST,$_COOKIE,$_SERVER,$_ENV和$_SESSION(参见$request_vars_order及$request_use_auto_globals)的存取方式如下例所示:
注意:基于历史原因,{$SCRIPT_NAME}还可以被直接存取,尽管{$smarty.server.SCRIPT_NAME}是推荐的存取该值的方法。
<a href="{$SCRIPT_NAME}?page=smarty">click me</a> <a href="{$smarty.server.SCRIPT_NAME}?page=smarty">click me</a>
当前的时间戳可以由{$smarty.now}来存取。返回值反映了自从所谓的元年(1970年1月1日)以来所经过的秒数,从而可以直接传递给日期格式修饰符进行显示。注意每次调用时都会调用time()函数。例如,一个脚本用了3秒执行完毕,那么在该脚本的开始和结束时所调用的$smarty.now将显示3秒的差异。
通过内建的{capture}..{/capture}函数而捕获的模板输出可以由{$smarty.capture}访问。更多信息请参见{capture}页。
{$smarty.config}变量可以用来访问调入的配置变量。{$smarty.config.foo}是{#foo#}的等同用法。更多信息请参见{config_load}页。
{$smarty.section}和{$smarty.foreach}变量分别用来访问{section}和{foreach}循环属性。它们有一些非常有用的值,如.first,.index等。