Раньше вы могли обойти это с помощью тегов {php}{/php}
, но, поскольку это устарело, теперь вы должны присваивать свои переменные с помощью $smarty->assign()
, единственное исключение из этого - константы и переменные сервера, которые вы до сих пор иметь прямой доступ через объект $smarty
.
(Вы также можете повторно включить теги {php}
, если хотите, и не заботитесь о потенциальных причинах безопасности, для которых они были отключены в первую очередь).
Любая из переменных запроса, таких как $_GET
, $_POST
, $_COOKIE
, $_SERVER
, $_ENV
и $_SESSION
, доступна через объект $smarty
.
Из-за этого - большинство данных, с которыми я работаю, могут быть просто доступны через объект $smarty
без необходимости создавать тонну (копируемых) переменных.
например:.
- Доступ к константе:
{$smarty.const.MY_CONST_VAL}
- Доступ к переменной $ _SERVER:
{$smarty.server.REQUEST_METHOD}
// Все в $ _SERVER доступно
- Получение чего-либо из $ _SESSION:
{$smarty.session.MY_SESSION_VAL}
// Все в $ _SESSION доступно