私はいくつかのローカル変数とグローバル変数(例えば$ foo)を持つPHPファイルを持っています
スマートオブジェクトがこのファイルから呼び出されています。
PHPファイルを変更せずにスマートスクリプトから$ fooにアクセスするにはどうすればよいですか?smartyからPHPファイルの変数(ローカルまたはグローバル)にアクセスする
ありがとうございました
私はいくつかのローカル変数とグローバル変数(例えば$ foo)を持つPHPファイルを持っています
スマートオブジェクトがこのファイルから呼び出されています。
PHPファイルを変更せずにスマートスクリプトから$ fooにアクセスするにはどうすればよいですか?smartyからPHPファイルの変数(ローカルまたはグローバル)にアクセスする
ありがとうございました
できません。それをPHPファイル内のsmartyに割り当てる必要があります。
$smarty->assign('foo', $foo);
あなたは、このようBASEと呼ばれる、と定義された定数変数がある場合:
$smarty.const.BASE
あなたがために使用:あなたはSmartyの中で次のように変数にアクセスすることができます
define('BASE', 'Boise');
を{php}{/php}
タグを使用してこの問題を回避することができますが、これは非推奨であるため、$smarty->assign()
で変数を割り当てる必要がありますが、唯一の例外は定数とサーバvariablですあなたはまだ$smarty
オブジェクト経由で直接アクセスしています。
(最初に無効にした可能性のあるセキュリティ上の理由を気にしないようにするには、{php}
タグを再度有効にすることもできます)。
よう$_GET
、$_POST
、$_COOKIE
、$_SERVER
、$_ENV
と$_SESSION
としてリクエスト変数のいずれも$smarty
オブジェクトを介して利用可能です。
私が扱っているデータのほとんどは、(複製された)変数を大量に作成することなく、$smarty
オブジェクトからアクセスすることができます。
例えば:定数へのアクセス
{$smarty.const.MY_CONST_VAL}
{$smarty.session.MY_SESSION_VAL}
が利用可能{$smarty.server.REQUEST_METHOD}
は$ _SESSIONから何かをつかむ
スマートオブジェクトに変数を割り当てる必要があります。スマートオブジェクトにアクセスすることはできません。これを回避する魔法の杖はありません。 – rdlowrey