zoukankan      html  css  js  c++  java
  • 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。

  • 相关阅读:
    HEW MAP文件使用
    UltraEdit 脚本 实现查找替换
    PC软件与PLC串口通信 奇偶检验问题
    Halcon的应用程序 打开后 弹出没有帮助文件错误提示
    STM32f4 ARM Bootloader
    RAM
    知识整理--内存
    CentOS 5.x 多个ISO文件 安装方法(VMware)
    Modbus总结
    【CF1253A】Single Push【模拟】
  • 原文地址:https://www.cnblogs.com/Andres/p/9569665.html
Copyright © 2011-2022 走看看