Yii給前端模板的賦值方式
阿新 • • 發佈:2019-01-03
Yii這套框架整體來說非常靈活,靈活到蛋疼的感覺,整合smarty都對不起框架的設計者,需要在前端模板使用PHP生成大部分元件(導致的結果是沒必要招前端了,直接程式設計師上吧)。
而我們在smarty中習慣使用
$this->assign('name', $var);
這種分步給前端模板賦值的方式同樣不適用,因為Yii的賦值是結合在開啟模板的方法裡面的
$this->render('view',$params);
但有一種折中的方法是在基類定義一個屬性來當預設的賦值變數,而我們需要賦值的陣列都當做它的陣列內容。
private $_params; publicfunction assign($key,$val){ $this->_params[$key] = $val; } publicfunction render($view,$data=null,$return=false) { if(!empty($this->_params)){ $data = $data ===null? $this->_params :CMap::mergeArray($this->_params,$data) ; } return parent::render($view, $data , $return); }