{$smarty} 保留变量
可以通过PHP的保留变量 {$smarty}
来访问一些环境变量。 下面是这些变量的列表:
页面请求变量 如$_GET
, $_POST
, $_COOKIE
, $_SERVER
, $_ENV
和 $_SESSION
可以通过下面的方式来使用:
Example 4.8. 显示页面请求变量
{* display value of page from URL ($_GET) http://www.example.com/index.php?page=foo *} {$smarty.get.page} {* display the variable "page" from a form ($_POST['page']) *} {$smarty.post.page} {* display the value of the cookie "username" ($_COOKIE['username']) *} {$smarty.cookies.username} {* display the server variable "SERVER_NAME" ($_SERVER['SERVER_NAME'])*} {$smarty.server.SERVER_NAME} {* display the system environment variable "PATH" *} {$smarty.env.PATH} {* display the php session variable "id" ($_SESSION['id']) *} {$smarty.session.id} {* display the variable "username" from merged get/post/cookies/server/env *} {$smarty.request.username}
Note
由于历史愿意,{$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>
Note
虽然Smarty提供了较方便直接访问PHP超全局变量的方法,但必须谨慎使用。 直接访问超全局变量会弄乱应用程序底层代码和模板语法。 最佳的实践是从PHP将需要的变量对模板进行赋值再使用。
我们不应该在模板文件中直接访问php超全局变量,而应该在php中赋值给模板在使用。
更多:http://www.smarty.net/docs/zh_CN/language.variables.smarty.tpl