gallu’s blog

エンジニアでゲーマーで講師で占い師なおいちゃんのブログです。

あきらめてSmarty触ってみました:本題

…まて。
まぁいいや(笑


んっと。何がいやって「MVCに入れ込みにくい」の"も"イヤでして。
具体的には。displayメソッドで「いきなり出力する」のってどうよ?
お願いだからHTML stringで復帰する関数ぷりぃづ!!


ってわけで作りました(2006/09/26追記。…いいから本文の後ろをご覧くださいませ)。
とれぬなら。うばってしまえ ほととぎす。

class mw_smarty extends Smarty
{
public function convert($resource_name, $cache_id = null, $compile_id = null)
{
//
ob_start();
ob_clean(); // 念のため

// 出力
$this->display($resource_name, $cache_id , $compile_id);

// げと
$html_string = ob_get_contents();

// きれいにして復帰
ob_clean();
return $html_string;
}

} // end of class

これでとりあえずMVCにのるってぇかViewクラス群の連中に「HTMLだよあとはよろ」って言えるです。
…ふぅ。


2006/09/26追記
id:elf さんからありがたいコメントを頂戴しました。
…私が欲しいメソッドすでに存在してます。
fetch()
ってのがそれに相当します。
失礼いたしました〜。

玉言のごときコメント、ありがとうございます > id:elf さん
# これで「Smarty嫌」な部分の一部はヘッジ出来たなぁ。…メインは相変わらずだとしても(笑