{php}関数 PHP コードを直接テンプレートに書き込む
PHP コードを直接テンプレートに埋め込むことができます。
$php_handling の設定にかかわらず、これはエスケープされません。
このテンプレート内で、Smartyの変数を定義することも可能です。
テンプレート
{php}
  echo 'テンプレート内のPHPでechoもできます';
  // 変数を Smarty に割り当てます
  $this->assign('hoge','テスト');
{/php}
{* テンプレート内のPHPで指定された変数も使えます *}
{$hoge}
注意 Smartyは、オブジェクトとして動作するため、 {php} ブロック内の PHP 変数にアクセスするには、PHP の global キーワードを使う必要があります。
PHP
$a = 1; $b = 2;
テンプレート(1)
{php}
  // PHPの変数を使うには global を使います
  global $a, $b;
  if($a == $b){
    echo 'テンプレート内のPHPでechoもできます';
  }
{/php}
テンプレート(2)
{php}
  // PHPの変数を使うには global を使います
  if($GLOBALS['a'] == $GLOBALS['b']){
    echo 'テンプレート内のPHPでechoもできます';
  }
{/php}
関連記事
- {strip}関数 各行の先頭と終端にある半角スペースや改行を除去する
- {literal}関数 構文解析の対象にしない
- {ldelim},{rdelim} デリミタを表示する
- {insert}関数 関数を読み込む
- {include_php}関数 PHP スクリプトを読み込む
- {include}関数 他のテンプレートを読み込む
- {config_load}関数 設定ファイル から変数を読み込む
- {capture}関数 出力を変数に受け渡す
- {section}関数 テンプレート内で繰り返し
- {foreach}関数 テンプレート内で繰り返し
- {if}関数 条件文
スポンサーリンク







