我有一個php文件,其中包含一些本地和全局變量(例如$ foo)
從此文件調用smarty對象。
如何從smarty腳本訪問$ foo而不更改PHP文件?從smarty訪問PHP文件的變量(本地或全局)
謝謝
我有一個php文件,其中包含一些本地和全局變量(例如$ foo)
從此文件調用smarty對象。
如何從smarty腳本訪問$ foo而不更改PHP文件?從smarty訪問PHP文件的變量(本地或全局)
謝謝
你不能。您必須將其分配給PHP文件中的smarty。
$smarty->assign('foo', $foo);
如果你有一個常變量稱爲BASE,並定義如下:
define('BASE', 'Boise');
你可以訪問變量智者方式如下:
$smarty.const.BASE
你曾經是能夠通過使用{php}{/php}
標籤來解決此問題,但由於這已被棄用,現在您必須通過$smarty->assign()
分配變量,唯一的例外是常量和服務器變量您仍然可以通過$smarty
對象直接訪問該對象。 (你也可以重新啓用{php}
標籤,如果你願意並且不關心他們首先被禁用的潛在安全原因)。
任何請求的變量,如$_GET
,$_POST
,$_COOKIE
,$_SERVER
,$_ENV
和$_SESSION
的是經由$smarty
對象可用。由於這個原因 - 我使用的大部分數據都可以通過$smarty
對象訪問,而無需創建大量(複製)的變量。
例如:
{$smarty.const.MY_CONST_VAL}
{$smarty.server.REQUEST_METHOD}
// Everything in $_SERVER是訪問{$smarty.session.MY_SESSION_VAL}
// Everything in $_SESSION可用
您需要將變量分配給smarty對象,否則smarty將無法訪問它。沒有魔術棒來解決這個問題。 – rdlowrey 2012-01-27 15:04:00