ここでは、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 くらいだそうです。レッツ暗算!