デザインとロジックは分離するよ。だけどディレクトリ構造まで分離させると、あちこちに散らばってめんどくさい。

変数出力の記述がシンプル、なんて利点をあげる奴もいるけど、出力用の関数を作っといて、
function o($arg,$escape=true){
     if($escape){
          $output=htmlentities($arg);
     }
     echo $output;
}
↑たとえばこういうの作って<?o($hensu)?>てな感じで書けばHTMLもスッキリでしょ。

ええとtruncateはー・・・ああマルチバイトだめなんだ、じゃあ自作修飾子をー・・・とかsmartyのドキュメント見ながらやったりするよりよっぽど早い。
大体、修飾子が連なると読みにくいから、そんなのはロジックの出力直前くらいで整えておく方がいいし。だったらSmartyの必要が無い。

キャッシュはPEAR::Cache_Liteなどで事足りる。


Smartyの素晴らしさを教えてくれ。マジで。