kohana的视图层很简单,变量数据放在$_data数组中。所以继承kohana_view类并覆写部分方法,就可以非常轻松的使用第三方模版引擎作为视图层。
这里的例子是使用blitz template,如果要用smarty之类的也可以类似修改。
文件在application/classes/stucampus/system/view.php下,可以修改,但是修改要和命名空间对应。至于如何支持命名空间,见这里
parse($params); return $output; } /** * 设置视图的文件名 * * @example $view->set_filename($file); * * @param string view filename * @return view * @throws \kohana_view_exception */ public function set_filename($file) { $return = parent::set_filename($file); // 初始化试图引擎 self::$templateengine = new \blitz($this->_file); return $return; } /** * 解析模板 * * @see kohana_view::render() */ public function render($file = null) { // 这个方法和parent一样的,但是parent没有使用静态延迟绑定,所以只好重写一次= =# if ($file !== null) { $this->set_filename($file); } if (empty($this->_file)) { throw new kohana_view_exception('you must set the file to use within your view before rendering'); } // combine local and global data and capture the output return view::capture($this->_file, $this->_data); } }
复制代码