{include_php}
テクニカルノート: {include_php} は Smarty ではほとんど推奨されていません。 カスタムテンプレート関数を使用すれば、同等の機能を実現できます。 {include_php} を使用する理由がもしあるとすれば、 plugins/ ディレクトリやアプリケーションのコードから PHP 関数を完全に隔離したい場合などです。 詳細は コンポーネント化したテンプレートの例 を参照してください。
属性名 | 型 | 必須 | デフォルト | 概要 |
---|---|---|---|---|
file | string | Yes | n/a | インクルードする PHP ファイル名 |
once | boolean | No | TRUE | 同じ PHP ファイルが複数回インクルードされた場合に、一度だけインクルードするかどうか |
assign | string | No | n/a | include_php の出力を格納する変数名 |
{include_php} タグを使用して、PHP スクリプトをテンプレートにインクルードします。 $security が有効な場合は、PHP スクリプトは $trusted_dir で指定されたディレクトリに存在する必要があります。{include_php} タグには file 属性が必須で、 ここにはインクルードする PHP ファイルへのパスを指定します。 このパスは $trusted_dir からの相対パスか絶対パスのいずれかとなります。
デフォルトでは、PHPファイルはテンプレート内で複数回呼ばれても一度しかインクルードしません。 once 属性によって毎回インクルードするべきかどうかを指定できます。 この属性を FALSE に設定すると、テンプレート内でインクルードの指示がある毎に PHP スクリプトをインクルードします。
オプションで assign 属性を渡すこともできます。 これは、{include_php} の出力をブラウザに表示させる代わりに 変数に格納したい場合に、その変数名を指定します。
Smarty オブジェクトは、インクルードした PHP スクリプト内で $this として使用可能です。
{include}、 $security、 $trusted_dir、 {php}、{capture}、テンプレートリソース および コンポーネント化したテンプレート も参照してください。