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

时间:2012-01-27 15:00:43

标签: php variables smarty

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

由于

3 个答案:

答案 0 :(得分:9)

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

define('BASE', 'Boise');

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

$smarty.const.BASE

答案 1 :(得分:5)

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

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

$_GET$_POST$_COOKIE$_SERVER$_ENV$_SESSION等任何请求变量均可通过{ {1}}对象。

由于这个原因 - 我可以通过$smarty对象轻松访问我使用的大多数数据,而无需创建大量(复制)变量。

例如:

答案 2 :(得分:4)

你做不到。你必须在PHP文件中将它分配给smarty。

$smarty->assign('foo', $foo);