php优秀框架codeigniter学习系列——CI_Output类的学习

这篇文章主要介绍CI核心框架工具类CI_Output。
根据CI文档本身的定义,这个类主要就是生成返回的页面给浏览器。如下选取类中的重点方法进行说明。浏览器

__construct()


在构造函数中,主要肯定是否对输出内容使用zlib压缩,若是使用会开启gzip压缩功能。另外还有一些细节的处理。缓存

_display_cache(&$CFG, &$URI)


两个参数:服务器

  • &$CFG CI_Config类的实例
  • &$URI CI_URI类的实例

该类先找到访问路径,而且转成md5码;
用md5码与已存在的缓存文件名进行比较,若是不存在返回false,若是存在加锁读取缓存内容;
取出存在缓存文件中的超时时间,与如今时间进行对比,若是超时,删除文件,返回false; 若是没有超时,进行下一步操做;
经过$this->set_cache_header函数设置http返回头;
经过$this->_display函数返回显示缓存内容,并返回true。框架

_display($output = '')


主要的处理函数,处理和发送最后的输出数据给浏览器,而且包括服务器响应头和配置数据。同时它也会中止计时器,因此能够在这里显示页面渲染用时和内存使用状况。
值得注意的是,在进入这个函数以前,全部"view"的数据已经被controller类自动存入了$this->final_output变量中。
该函数主要作了以下事情:
1.写缓存;
2.若是不是显示缓存内容,开启压缩;若是是显示缓存内容,输出内容,返回;
3.若是须要显示性能数据,在数据$output中追加上性能数据;
4.若是用户有自定义输出函数,转到该函数去输出;若是没有,直接输出$output。函数

相关文章
相关标签/搜索