codeigniter 渲染模板时的疑惑
在控制器中: public function index() { echo 1; $this->load->view('welcome2'); echo 2; //为什么输出结果为: 12<html></html> //而不是 1<html></html>2 } 原因: 在system/core/Loader.php中: $_ci_CI->output->append_output(ob_get_contents()); //通过ob_start()和ob_get_contents(),将模板解析后得到的结果添加到输出内容中(Output->final_output) 在system/core/CodeIgniter.php中 if ($EXT->_call_hook('display_override') === FALSE) { $OUT->_display();//这里是真正输出类似$this->load->view('welcome2')的内容 } 先 echo 1; 然后把模板解析结果暂时存到别的地方, 然后 echo 2; 最后 $OUT->_display()把模板解析结果输出。