Home > PHP > Smartyのテンプレート側でPHPの標準関数を使用する

Smartyのテンプレート側でPHPの標準関数を使用する

  • Posted by: sinsengumi
  • 2010年10月1日 10:42 AM
  • PHP
  • |

Smartyのテンプレート側ではPHPの標準関数を使用することができます。
使い方は、変数の修飾子として関数を使用します。

変数の修飾子は、 変数 や カスタム関数 や文字列を修飾して出力することができます。修飾子を適用するには、 変数名の後に | (パイプ) と修飾子の名前を指定します。 また、修飾子はその動作に影響を及ぼす追加のパラメータを受け入れる場合もあります。 そのパラメータは修飾子の後に続き、: (コロン) によって区切られます。 また、すべての PHP 関数は、暗黙的に修飾子として使用でき (あとで説明します)、修飾子は 組み合わせる こともできます。
Smarty マニュアル | 第5章変数の修飾子

使用する際の注意点としては以下があります。

  • 関数に適用する変数が配列の場合、関数名の前に「@」をつける。
  • 「|(パイプ)」の後に書いた関数の第一引数に変数が渡される。関数の引数が2つ、3つあるような関数の場合は変数を「:(コロン)」で区切って記述します。

配列に対して修飾子を用いた場合は、その配列に格納された全ての値に影響を及ぼします。 配列全体を1つの値として作用させるには修飾子の先頭に @ 記号をつける必要があります。
Smarty マニュアル | 第5章変数の修飾子

使用例は以下です。

<!-- 変数(string)を大文字にする -->
<p>{$title|upper}</p>

<!-- 配列の要素数を取得する -->
<p>{$array|@count}</p>

<!-- パラメータが2つ以上ある場合($language = "PHP関数") -->
<p>{"PHP"|str_replace:"Ruby":$language}</p>

参考

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://sinsengumi.net/blog/2010/10/smarty%e3%81%ae%e3%83%86%e3%83%b3%e3%83%97%e3%83%ac%e3%83%bc%e3%83%88%e5%81%b4%e3%81%a7php%e3%81%ae%e6%a8%99%e6%ba%96%e9%96%a2%e6%95%b0%e3%82%92%e4%bd%bf%e7%94%a8%e3%81%99%e3%82%8b/trackback/
Listed below are links to weblogs that reference
Smartyのテンプレート側でPHPの標準関数を使用する from sinsengumi血風録

Home > PHP > Smartyのテンプレート側でPHPの標準関数を使用する

Search
Feeds
Meta

Return to page top