- 302 名前:nobodyさん mailto:sage [2008/10/15(水) 20:31:43 ID:???]
- >>300
>(是非はおいといて)>>278のような事をSmartyで実現したい。 {assign}{capture}{eval}あたりで出来るよ。 コンパイル後のソース見ればわかるけど、assignなんかはコストもほとんど変わらない。 // format.tpl {assign var="name" value=$name|escape|default:"no name"} {include file="body.tpl"} // body.tpl {$name} >MVCで言うと、new Smarty();が書かれるファイルは、 >モデルでもコントローラでもなく、ビューに属する事になる。 自分はSmarty自体をビューとして考えているかな。 コントローラがビュー(Smarty)を生成し、レスポンスデータを渡す。 ビュー(Smarty)は与えられたレスポンスデータを元に画面を表示する。 ↓こんな感じ。 class Controller { public function action() { // 実際にはSmarty継承クラスor内包クラスになる $view = new Smarty(); // 必要な処理をしてビューにレスポンスデータを渡す $view->setResponse(new Respose(xxxx)); // 整形や表示処理は全てビューにまかせる。 $view->render(); } }
|

|