Smarty 保留变量

时间:2023-03-09 15:11:27
Smarty 保留变量

{$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