目录 搜索
欢迎 目录 快速参考图 基本信息 服务器要求 许可协议 变更记录 关于CodeIgniter 安装 下载 CodeIgniter 安装指导 从老版本升级 疑难解答 介绍 开始 CodeIgniter 是什么? CodeIgniter 速记表 支持特性 应用程序流程图 模型-视图-控制器 架构目标 教程 内容提要 加载静态内容 创建新闻条目 读取新闻条目 结束语 常规主题 CodeIgniter URL 控制器 保留字 视图 模型 辅助函数 使用 CodeIgniter 类库 创建你自己的类库 使用 CodeIgniter 适配器 创建适配器 创建核心系统类 钩子 - 扩展框架的核心 自动装载资源 公共函数 URI 路由 错误处理 缓存 调试应用程序 以CLI方式运行 管理应用程序 处理多环境 PHP替代语法 安全 开发规范 类库参考 基准测试类 日历类 购物车类 配置类 Email 类 加密类 文件上传类 表单验证详解 FTP 类 图像处理类 输入类 Javascript 类 语言类 装载类 迁移类 输出类 分页类 模板解析器类 安全类 Session 类 HTML 表格类 引用通告类 排版类 单元测试类 URI 类 User-Agent 类 表单验证 XML-RPC 和 XML-RPC 服务器 Zip 编码类 缓存适配器 适配器参考 适配器 数据库类 Active Record 类 数据库缓存类 自定义函数调用 数据库配置 连接你的数据库 数据库快速入门例子代码 字段数据 数据库维护类 查询辅助函数 数据库类 查询 生成查询记录集 表数据 事务 数据库工具类 JavaScript类 辅助函数参考 数组辅助函数 CAPTCHA 辅助函数 Cookie Helper 日期辅助函数 目录辅助函数 下载辅助函数 Email 辅助函数 文件辅助函数 表单辅助函数 HTML辅助函数 Inflector 辅助函数 语言辅助函数 数字辅助函数 路径辅助函数 安全辅助函数 表情辅助函数 字符串辅助函数 文本辅助函数 排版辅助函数 URL 辅助函数 XML 辅助函数
文字

CodeIgniter 用户指南 版本 2.1.0

编辑文档、查看近期更改请 登录 或 注册  找回密码
查看原文

输出类

输出类是只有一个主要功能的简单的类: 发送最终的Web页面到所请求的浏览器。如果您开启缓存功能,他还负责缓存您的网页文件。

输出类虽然很简单,但是它实现的功能却很重要咯: 输出最后的执行结果给发送请示的浏览器. 如果你选择了使用缓存 ,这块也归它管.

注意:输出类的初始化操作是由系统自动完成的,基本上不用你操心.

在一般的情况下你是感觉到不到它的存在的(也用不着去关心),对于你来说它就是透明的,不用去干预,它就能正常的工作. 比如说, 你使用装载器类加载了一个视图文件, 这个视图文件的内容会自动传递给输出类对象, 然后呢,在方法执行完毕后会自动调用输出类对象将执行的结果输出. 但是呢,实际开发的过程当中会遇见一些特殊的情况需要我们干预输出,接管输出的控制权(像是客户要求将数据导出成Excel,提供下载),这种时候,下面的这些个方法就用啦:

$this->output->set_output();

告诉CodeIgniter方法执行完毕后,用给定的数据做为输出。例如:

$this->output->set_output($data);

重要:使用这个方法有一点很重要,就要将它放在最后一句,千万要注意啊,到时候出了错,不要怪我没提醒你.

$this->output->set_content_type();

允许你设置页面的mime类型以便于输出 JSON , JPEG, XML 等类型的数据.

$this->output
    ->set_content_type('application/json')
    ->set_output(json_encode(array('foo' => 'bar')));

$this->output
    ->set_content_type('jpeg') // 你也可以用".jpeg",它在查找 config/mimes.php 文件之前会移除句号
    ->set_output(file_get_contents('files/something.jpg'));

重要: 确保你传递到此方法的非mime字符串在 config/mimes.php 存在,否则设置不起作用。

$this->output->get_output();

使用这个方法,你可以得到将要输出的数据,并把它保存起来,留着它用(我们做新闻类型网站的时候,常常需要生成静态的HTML文件). 例如:

$string = $this->output->get_output();

注意,如果先前的数据已经被一个类似 $this->load->view() 的 CodeIgniter 函数送到了输出类,那么只能取得那个函数之后的输出。

$this->output->append_output();

在输出字符串后附加数据。例如:

$this->output->append_output($data);

$this->output->set_header();

使用此方法,允许你设置将会被发送到浏览器的HTTP协议的标头,作用相当于php的标准函数: header()。例如:

$this->output->set_header("HTTP/1.0 200 OK");
$this->output->set_header("HTTP/1.1 200 OK");
$this->output->set_header('Last-Modified: '.gmdate('D, d M Y H:i:s', $last_update).' GMT');
$this->output->set_header("Cache-Control: no-store, no-cache, must-revalidate");
$this->output->set_header("Cache-Control: post-check=0, pre-check=0");
$this->output->set_header("Pragma: no-cache");

$this->output->set_status_header(code, 'text');

允许你手动设置服务器状态头(header)。例如:

$this->output->set_status_header('401');
// 将header设置为: Unauthorized

单击这里查看全部的 header 列表。

$this->output->enable_profiler();

允许你开启或禁用评测器,评测器将在页的底部显示测试基准点或调试、优化需要的其他数据。

在控制器函数的任何位置放置以下函数,可以开启控制器:

$this->output->enable_profiler(TRUE);

当开启评测器功能,会在您的页面底部生成一个报告。

你可以用以下语句禁用评测器:

$this->output->enable_profiler(FALSE);

$this->output->set_profiler_sections();

允许你在评测器启用时控制(开/关)其特定部分。请参考评测器了解详细信息。

$this->output->cache();

CodeIgniter的输出类同样也控制缓存。要获取更多信息,请阅读 缓存文档.

Parsing Execution Variables

默认情况下,CodeIgniter总会在输出中解析伪变量{elapsed_time}{memory_usage}。 如需禁用,在控制器中将类属性$parse_exec_vars设为FALSE$this->output->parse_exec_vars = FALSE;

 

翻译贡献者: billycui, Glen, Hex, hk_yuhe, lishen2, xwjie, yinzhili
最后修改: 2012-02-08 23:20:24
上一篇: 下一篇: