从smarty访问PHP文件的变量(本地或全局)

RYN*_*RYN 6 php variables smarty

我有一个php文件,它有一些本地和全局变量(例如$ foo)
,从这个文件调用一个聪明的对象.
如何在不更改PHP文件的情况下从smarty脚本访问$ foo?

谢谢

Dar*_*son 10

如果你有一个名为BASE的常量变量,并且定义如下:

define('BASE', 'Boise');
Run Code Online (Sandbox Code Playgroud)

您可以通过以下方式访问smarty中的变量:

$smarty.const.BASE
Run Code Online (Sandbox Code Playgroud)


And*_*wPK 5

您曾经能够通过使用{php}{/php}标签解决这个问题,但由于不推荐使用,现在您必须通过自己分配变量$smarty->assign(),唯一的例外是您仍然可以通过$smarty对象直接访问的常量和服务器变量.

({php}如果您愿意,也可以重新启用标签,并且不关心它们首先被禁用的潜在安全原因).

任何请求变量如$_GET,$_POST,$_COOKIE,$_SERVER,$_ENV$_SESSION通过提供$smarty对象.

因此 - 我使用的大多数数据都可以通过$smarty对象轻松访问,而无需创建大量(复制)变量.

例如.:


Joc*_*ung 4

你不能。您必须将其分配给 PHP 文件中的 smarty。

$smarty->assign('foo', $foo);
Run Code Online (Sandbox Code Playgroud)