Archive for 3 月 5th, 2008

[php]Smartyの修飾子の@は配列適用の印

3 月 05th, 2008 | Category: php
このエントリをはてなブックマークに追加[php]Smartyの修飾子の@は配列適用の印のはてなブックマーク被リンク数このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをBuzzurl(バザール)に追加

@countとか、@print_rとか、すごく使えそう。これでデバッグもだいぶ楽になるかな。


たしかにいつも@count@print_rにはお世話になっている。@var_dumpもできるけど、個人的にはあまり使わないかな。ちなみに山田祥寛さんの『Smarty入門~PHP5+テンプレート・エンジンでつくるMVCアプリケーション~』という有名な本では、コラム程度の扱いです。これはもっとSmartyのドキュメントとか、ブログとかで強調されてもいいような話だと思う。便利だし。

んで、自分の認識としては、修飾子の@って、Smartyが標準でサポートしてないphp関数の呼び出しに使うのかなって思ったけど、実は違って、配列全体を修飾するって意味のようでした。

たとえば、

{{"<>"|htmlspecialchars}}

<>

と出るし、

{{12345.98765|number_format:2:".":","}}

12,345.99

と出ます。両方ともSmartyの標準修飾子ではなく、Smartyの暗黙的な修飾子拡張によって実現されているみたいです。なんだかSmartyの仕組みをちゃんと知って、賢くなったw

No comments