[php]Smartyの修飾子の@は配列適用の印
@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