タグ : Smarty

【DooPHP】template_tags.phpの便利な使い方

DooPHPはCakePHPとは違い、デフォルトでSmartyのようなテンプレートエンジンも入っています。
Smartyと違うのは独自タグが全くないってこと。

要するに全部自分でFunctionを書いていく!
これが、簡単にできるのでDooPHPはかなりいいですね。

例えば、Smartyの|escapeオプションをサンプルに。

■VIEWでは、通常のタグに関数を指定する。
{{h(str)}}

■/plugin/template_tags.phpにて、使用する関数名と関数を書く。
$template_tags = array(‘h’);

function h($str){
return htmlspecialchars($str);
}

なんで、最初からはいっていないんだって言われる方もいるかも知れませんが、
逆に必要なもの以外は入れなくていいので、管理もしやすいかもしれません。

他にもエラーの時だけスタイルを入れる関数を作ったり、
日付の書式を変更するものを作っています。

自由に自分のテンプレエンジンが改良できるので便利です。

【PHP】SmartyでPHPの定数を呼び出す。

{$smarty.const}
PHP 定数の値に直接アクセスできます。

// php で定義されている定数
define(’CONST’,'定数’);
?>

定数を出力するテンプレート
{$smarty.const.CONST}

【PHP】前ゼロを付けて桁数を統一したい

指定した桁数で前ゼロを付けるにはこんな感じの関数を使います!

sprintf(‘%05d’, $num);

上のソースでは5桁に満たなかったら頭に0を付けます。

たとえば、
1のときは00001
100のときは 00100
10000のときは10000
みたいな感じです。

ユーザーIDなど桁数を合わせるときは便利ですね!

Smartyのテンプレートの場合は

{$num|string_format:’%05d’}

とやると前ゼロが付きます。