自己做過框架的人,可能都會思考一個問題,模板引擎需要什么特性?
Widgets模式,很多系統(tǒng)中都有出現(xiàn),但對于純開發(fā)人員,不管前端或后臺人員來說,都覺得稍微麻煩了一點。因為他將界面硬生生的拆分出了很多零散的部分,對于編程人員來說,有點不流暢的感覺。
ECMall中也使用了Widgets的特性。
Widgets在使用時,可以接受參數(shù)的定義,這樣盡可能的重復使用代碼,而且邏輯與表現(xiàn)分離,開發(fā)和維護比較方便。
只是ecmall中的widgets 不支持指定 表現(xiàn)代碼,某個widgets的所有實例只能使用同一個視圖文件。
如果能增加自定義視圖的特性,將會比較完美。
ps 一句話搞定
widget.base.php
/** * 將取得的數(shù)據(jù)按模板的樣式輸出 * * @author Garbin * @return string */ function get_contents() { /* 獲取掛件數(shù)據(jù) */ $this->assign('widget_data', $this->_get_data()); /*可能有問題*/ $this->assign('options', $this->options); $this->assign('widget_root', $this->widget_root); $widget_filename = empty($this->options['view']) ? 'widget' : $this->options['view']; //這句話 return $this->_wrap_contents($this->fetch($widget_filename)); //相應(yīng)調(diào)整 }新聞熱點
疑難解答