Usted solía ser capaz de evitar esto usando etiquetas {php}{/php}
, pero como esto está obsoleto, ahora tiene que asignar sus variables a través de $smarty->assign()
, la única excepción a esto son las constantes y el servidor variable es a la que todavía tiene acceso directo a través del objeto $smarty
.
(También puede volver a habilitar las etiquetas {php}
si desea y no le preocupan las posibles razones de seguridad para las que estaban deshabilitadas).
Cualquiera de las variables de petición como $_GET
, $_POST
, $_COOKIE
, $_SERVER
, $_ENV
y $_SESSION
están disponibles a través del objeto $smarty
.
Debido a esto, la mayoría de los datos con los que trabajo simplemente se puede acceder a través del objeto $smarty
sin tener que crear una tonelada de variables (copiadas).
ej .:
- Acceso a una constante:
{$smarty.const.MY_CONST_VAL}
- Acceso a un $ _SERVER var: //
{$smarty.server.REQUEST_METHOD}
Everything in $_SERVER es accesible
- Agarrando algo de $ _SESSION: //
{$smarty.session.MY_SESSION_VAL}
Everything in $_SESSION está disponible
Debe asignar la variable al objeto Smarty o Smarty no podrá acceder a ella. No hay una varita mágica para evitar esto. – rdlowrey