File size: 11.45Kb
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Зарезервированная переменная {$smarty}</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
<link rel="home" href="index.html" title="Руководство по Smarty">
<link rel="up" href="language.variables.html" title="Chapter 4. Переменные">
<link rel="prev" href="language.config.variables.html" title="Переменные файлов конфигурации">
<link rel="next" href="language.modifiers.html" title="Chapter 5. Модификаторы переменных">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<div class="navheader">
<table width="100%" summary="Navigation header">
<tr><th colspan="3" align="center">Зарезервированная переменная {$smarty}</th></tr>
<tr>
<td width="20%" align="left">
<a accesskey="p" href="language.config.variables.html">Prev</a> </td>
<th width="60%" align="center">Chapter 4. Переменные</th>
<td width="20%" align="right"> <a accesskey="n" href="language.modifiers.html">Next</a>
</td>
</tr>
</table>
<hr>
</div>
<div class="sect1" title="Зарезервированная переменная {$smarty}">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="language.variables.smarty"></a>Зарезервированная переменная {$smarty}</h2></div></div></div>
<p>
Зарезервированная переменная {$smarty} может быть использована для получения
доступа к нескольким переменным окружения и запроса. Далее следует их полный
список.
</p>
<div class="sect2" title="Переменные запроса">
<div class="titlepage"><div><div><h3 class="title">
<a name="language.variables.smarty.request"></a>Переменные запроса</h3></div></div></div>
<p>
<a class="ulink" href="http://php.net/reserved.variables" target="_top">К переменным запроса</a>,
таким как $_GET, $_POST, $_COOKIE, $_SERVER, $_ENV и $_SESSION
(см. <a class="link" href="variable.request.vars.order.html" title="$request_vars_order">$request_vars_order</a>
и <a class="link" href="variable.request.use.auto.globals.html" title="$request_use_auto_globals">$request_use_auto_globals</a>
), можно получить доступ, как показано в следующем примере:
</p>
<div class="example">
<a name="id2651225"></a><p class="title"><b>Example 4.7. Отображение переменных запроса</b></p>
<div class="example-contents"><pre class="programlisting">
{* отображение параметра page из URL ($_GET) http://www.example.com/index.php?page=foo *}
{$smarty.get.page}
{* отображение параметра "page" из формы ($_POST['page']) *}
{$smarty.post.page}
{* отображение значения cookie "username" ($_COOKIE['username']) *}
{$smarty.cookies.username}
{* отображение серверной переменной "SERVER_NAME" ($_SERVER['SERVER_NAME'])*}
{$smarty.server.SERVER_NAME}
{* отображение переменной системного окружения "PATH" *}
{$smarty.env.PATH}
{* отображение переменной сессии PHP "id" ($_SESSION['id']) *}
{$smarty.session.id}
{* отображение переменной "username" из смешенных get/post/cookies/server/env *}
{$smarty.request.username}
</pre></div>
</div>
<br class="example-break"><div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
<p>
По историческим соображениям, доступ к переменной {$SCRIPT_NAME} можно
получить непосредственно, хотя предпочтительным способом является обращение
{$smarty.server.SCRIPT_NAME}.
</p>
<pre class="programlisting">
<a href="{$SCRIPT_NAME}?page=smarty">click me</a>
<a href="{$smarty.server.SCRIPT_NAME}?page=smarty">click me</a>
</pre>
</div>
</div>
<div class="sect2" title="{$smarty.now}">
<div class="titlepage"><div><div><h3 class="title">
<a name="language.variables.smarty.now"></a>{$smarty.now}</h3></div></div></div>
<p>
Текущая <a class="ulink" href="http://php.net/function.time" target="_top">временная метка</a>
содержится в переменной {$smarty.now}. Это значение отражает количество
секунд, которые прошли с момента наступления так называемой Эпохи
(1 января 1970 года). Её можно прямо передавать модификатору
<a class="link" href="language.modifier.date.format.html" title="date_format">date_format</a>
для отображения текущей даты/времени. Обратите внимание,
что time() вызывается при каджом обращении; к примеру, скрипт, работающий
три секунды и вызывающий $smarty.now в начале и в конце работы, покажет
разницу в три секунды.
</p>
<div class="example">
<a name="id2651684"></a><p class="title"><b>Example 4.8. Использование {$smarty.now}</b></p>
<div class="example-contents"><pre class="programlisting">
{* использование модификатора date_format для отображения текущей даты/времени*}
{$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"}
</pre></div>
</div>
<br class="example-break">
</div>
<div class="sect2" title="{$smarty.const}">
<div class="titlepage"><div><div><h3 class="title">
<a name="language.variables.smarty.const"></a>{$smarty.const}</h3></div></div></div>
<p>
Вы можете обращаться к константам PHP напрямую. См. также <a class="link" href="smarty.constants.html" title="Chapter 11. Константы">Константы Smarty</a>
</p>
<div class="example">
<a name="id2651725"></a><p class="title"><b>Example 4.9. Использование {$smarty.const} для доступа к константам</b></p>
<div class="example-contents">
<pre class="programlisting">
// константа определена в PHP
define('_MY_CONST_VAL','CHERRIES');
</pre>
<pre class="programlisting">
{* вывод константы PHP в шаблоне *}
{$smarty.const._MY_CONST_VAL}
</pre>
</div>
</div>
<br class="example-break">
</div>
<div class="sect2" title="{$smarty.capture}">
<div class="titlepage"><div><div><h3 class="title">
<a name="language.variables.smarty.capture"></a>{$smarty.capture}</h3></div></div></div>
<p>
Результат обработки шаблона, сохраненный конструкцией <a class="link" href="language.builtin.functions.html#language.function.capture" title="{capture}">{capture}..{/capture}</a>,
доступен при помощи переменной {$smarty.capture}. См. раздел о
<a class="link" href="language.builtin.functions.html#language.function.capture" title="{capture}">{capture}</a>
для получения примера.
</p>
</div>
<div class="sect2" title="{$smarty.config}">
<div class="titlepage"><div><div><h3 class="title">
<a name="language.variables.smarty.config"></a>{$smarty.config}</h3></div></div></div>
<p>
Переменная {$smarty} может использоваться для обращения к загруженным <a class="link" href="language.config.variables.html" title="Переменные файлов конфигурации">конфигурационным переменным</a>.
{$smarty.config.foo} является синонимом {#foo#}. См. раздел о
<a class="link" href="language.function.config.load.html" title="{config_load}">{config_load}</a>
для получения примера.
</p>
</div>
<div class="sect2" title="{$smarty.section}, {$smarty.foreach}">
<div class="titlepage"><div><div><h3 class="title">
<a name="language.variables.smarty.loops"></a>{$smarty.section}, {$smarty.foreach}</h3></div></div></div>
<p>
Переменную {$smarty} можно использовать для обращения к свойствам циклов
<a class="link" href="language.function.section.html" title="{section},{sectionelse}">{section}</a> и
<a class="link" href="language.function.foreach.html" title="{foreach},{foreachelse}">{foreach}</a>.
Это очень полезные значения вроде .first, .index и т.д.
</p>
</div>
<div class="sect2" title="{$smarty.template}">
<div class="titlepage"><div><div><h3 class="title">
<a name="language.variables.smarty.template"></a>{$smarty.template}</h3></div></div></div>
<p>
Возвращает имя текущего обрабатываемого шаблона. Этот пример показывает
container.tpl и включенные в него banner.tpl, оба имеют вызов
{$smarty.template}
</p>
<pre class="programlisting">
<b>Main container is {$smarty.template}</b>
{include file='banner.tpl}
</pre>
<p>
результат обработки шаблона:
</p>
<pre class="programlisting">
<b>Main page if container.tpl</b>
banner.tpl
</pre>
</div>
<div class="sect2" title="{$smarty.version}">
<div class="titlepage"><div><div><h3 class="title">
<a name="language.variables.smarty.version"></a>{$smarty.version}</h3></div></div></div>
<p>
Возвращает версию Smarty, с которой был скомпилирован шаблон.
</p>
<pre class="programlisting">
<div id="footer">Powered by Smarty {$smarty.version}</div>
</pre>
</div>
<div class="sect2" title="{$smarty.ldelim}, {$smarty.rdelim}">
<div class="titlepage"><div><div><h3 class="title">
<a name="language.variables.smarty.ldelim"></a>{$smarty.ldelim}, {$smarty.rdelim}</h3></div></div></div>
<p>
Эти переменные используются для отображения левого и правого ограничителей -
так же, как и <a class="link" href="language.function.ldelim.html" title="{ldelim},{rdelim}">{ldelim},{rdelim}</a>.
</p>
<p>
См. также
<a class="link" href="language.syntax.variables.html" title="Переменные">Переменные</a>
и
<a class="link" href="language.config.variables.html" title="Переменные файлов конфигурации">Конфигурационные переменные</a>
</p>
</div>
</div>
<div class="navfooter">
<hr>
<table width="100%" summary="Navigation footer">
<tr>
<td width="40%" align="left">
<a accesskey="p" href="language.config.variables.html">Prev</a> </td>
<td width="20%" align="center"><a accesskey="u" href="language.variables.html">Up</a></td>
<td width="40%" align="right"> <a accesskey="n" href="language.modifiers.html">Next</a>
</td>
</tr>
<tr>
<td width="40%" align="left" valign="top">Переменные файлов конфигурации </td>
<td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td>
<td width="40%" align="right" valign="top"> Chapter 5. Модификаторы переменных</td>
</tr>
</table>
</div>
</body>
</html>