[ Smarty3 ] PHP スクリプト内で定義した define をテンプレートから参照する

Pocket

ここでは、Smarty3 で作成したテンプレートファイル内から PHP スクリプトファイルで宣言された define 値を取得・参照するサンプルスクリプトを掲載しています。

スポンサーリンク


テンプレートファイルから define 値を参照する

Smarty では以下のように PHP ファイル内で定義した define 値を使用することができる。

define 宣言した PHP スクリプト

// phpスクリプト内で define 宣言
define('CONST_YAHOO', 'ヤフォーーーーーー');

テンプレートファイル


// テンプレート内で define 定数を取得する
{$smarty.const.CONST_YAHOO}

この機能は使わないほうが良い

本機能は便利であるようにも見えますが、Smarty のドキュメントでも言及されている通り多用しないほうが良いと思います。

出力部を分離するためのテンプレートエンジンが PHP 内で定義された define を参照できてしまうこと自体、蛇足感が否めません。

なお、define 値以外にも、その他多くの値をテンプレートファイル内から参照・取得することができますが、同じく使用しないほうが良いと思います。

MVC の V(View:ビュー)は、外部から表示内容を制御することは定石です。設計段階で、define や その他の値で表示内容を切り替えるように検討している人がいたら、ドロップキックで問題ありません。

当然、ご自身の判断でお願いします。わたしには何の責任もありません。
ジャイアント馬場の足のサイズが16文でなくても、私には何の責任もありません。なお、1文は大体2.4cm くらいだそうです。レッツ暗算!

参考
スポンサーリンク

Pocket

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>