- 欢迎使用 CodeIgniter
- 安装说明
- 下载 CodeIgniter
- 从老版本升级
- 疑难解答
- CodeIgniter 概览
- CodeIgniter 将从这里开始
- CodeIgniter 概览
- CodeIgniter 特性
- 应用程序流程图
- 模型-视图-控制器
- 设计与架构目标
- 教程 - 内容提要
- 加载静态内容
- 读取新闻条目
- 创建新闻条目
- 结束语
- 向 CodeIgniter 贡献你的力量
- 编写 CodeIgniter 的文档
- Developer's Certificate of Origin 1.1
- CodeIgniter URL
- 控制器
- 保留名称
- 视图
- 模型
- 辅助函数
- 使用 CodeIgniter 类库
- 创建类库
- 使用 CodeIgniter 驱动器
- 创建驱动器
- 创建核心系统类
- 创建附属类
- 钩子 - 扩展框架核心
- 自动加载资源
- 公共函数
- 兼容性函数
- URI 路由
- 错误处理
- 网页缓存
- 程序分析
- 以 CLI 方式运行
- 管理你的应用程序
- 处理多环境
- 在视图文件中使用 PHP 替代语法
- 安全
- PHP 开发规范
- 基准测试类
- 缓存驱动器
- 日历类
- 购物车类
- 配置类
- Email 类
- 加密类
- 加密类(新版)
- 文件上传类
- 表单验证类
- FTP 类
- 图像处理类
- 输入类
- Javascript 类
- 语言类
- 加载器类
- 迁移类
- 输出类
- 分页类
- 模板解析类
- 安全类
- Session 类
- HTML 表格类
- 引用通告类
- 排版类
- 单元测试类
- URI 类
- 用户代理类
- XML-RPC 与 XML-RPC 服务器类
- Zip 编码类
- 数据库参考
- 数据库快速入门: 示例代码
- 数据库配置
- 连接你的数据库
- 查询
- 生成查询结果
- 查询辅助函数
- 查询构造器类
- 事务
- 数据库元数据
- 自定义函数调用
- 数据库缓存类
- 数据库工厂类
- 数据库工具类
- 数据库驱动器参考
- 数组辅助函数
- 验证码辅助函数
- Cookie 辅助函数
- 日期辅助函数
- 目录辅助函数
- 下载辅助函数
- 邮件辅助函数
- 文件辅助函数
- 表单辅助函数
- HTML 辅助函数
- Inflector 辅助函数
- 语言辅助函数
- 数字辅助函数
- 路径辅助函数
- 安全辅助函数
- 表情辅助函数
- 字符串辅助函数
- 文本辅助函数
- 排版辅助函数
- URL 辅助函数
- XML 辅助函数
- The MIT License (MIT)
- 服务器要求
- 关于 CodeIgniter
输出类
输出类是个核心类,它的功能只有一个:发送 Web 页面内容到请求的浏览器。 如果你开启缓存,它也负责 缓存 你的 Web 页面。
注解
这个类由系统自动加载,你无需手工加载。
在一般情况下,你可能根本就不会注意到输出类,因为它无需你的干涉, 对你来说完全是透明的。例如,当你使用 加载器 加载一个视图文件时,它会自动传入到输出类,并在系统执行的最后由 CodeIgniter 自动调用。尽管如此,在你需要时,你还是可以对输出进行手工处理。
- 类参考
类参考
- class CI_Output
- $parse_exec_vars = TRUE;
启用或禁用解析伪变量({elapsed_time} 和 {memory_usage})。
CodeIgniter 默认会在输出类中解析这些变量。要禁用它,可以在你的控制器中设置 这个属性为 FALSE 。
$this->output->parse_exec_vars = FALSE;
- set_output($output)
参数: - $output (string) -- String to set the output to
返回: CI_Output instance (method chaining)
返回类型: CI_Output
允许你手工设置最终的输出字符串。使用示例:
$this->output->set_output($data);
重要
如果你手工设置输出,这必须放在方法的最后一步。例如, 如果你正在某个控制器的方法中构造页面,将 set_output 这句代码放在方法的最后。
- set_content_type($mime_type[, $charset = NULL])
参数: - $mime_type (string) -- MIME Type idenitifer string
- $charset (string) -- Character set
返回: CI_Output instance (method chaining)
返回类型: CI_Output
允许你设置你的页面的 MIME 类型,可以很方便的提供 JSON 数据、JPEG、XML 等等格式。
$this->output ->set_content_type('application/json') ->set_output(json_encode(array('foo' => 'bar'))); $this->output ->set_content_type('jpeg') // You could also use ".jpeg" which will have the full stop removed before looking in config/mimes.php ->set_output(file_get_contents('files/something.jpg'));
重要
确保你传入到这个方法的 MIME 类型在 application/config/mimes.php 文件中能找到,要不然方法不起任何作用。
你也可以通过第二个参数设置文档的字符集。
$this->output->set_content_type('css', 'utf-8');
- get_content_type()
返回: Content-Type string 返回类型: string 获取当前正在使用的 HTTP 头 Content-Type ,不包含字符集部分。
$mime = $this->output->get_content_type();
注解
如果 Content-Type 没有设置,默认返回 'text/html' 。
- get_header($header)
参数: - $header (string) -- HTTP header name
返回: HTTP response header or NULL if not found
返回类型: mixed
返回请求的 HTTP 头,如果 HTTP 头还没设置,返回 NULL 。 例如:
$this->output->set_content_type('text/plain', 'UTF-8'); echo $this->output->get_header('content-type'); // Outputs: text/plain; charset=utf-8
注解
HTTP 头名称是不区分大小写的。
注解
返回结果中也包括通过 PHP 原生的 header() 函数发送的原始 HTTP 头。
- get_output()
返回: Output string 返回类型: string 允许你手工获取存储在输出类中的待发送的内容。使用示例:
$string = $this->output->get_output();
注意,只有通过 CodeIgniter 输出类的某个方法设置过的数据,例如 $this->load->view() 方法,才可以使用该方法获取到。
- append_output($output)
参数: - $output (string) -- Additional output data to append
返回: CI_Output instance (method chaining)
返回类型: CI_Output
向输出字符串附加数据。
$this->output->append_output($data);
- set_header($header[, $replace = TRUE])
参数: - $header (string) -- HTTP response header
- $replace (bool) -- Whether to replace the old header value, if it is already set
返回: CI_Output instance (method chaining)
返回类型: CI_Output
允许你手工设置服务器的 HTTP 头,输出类将在最终显示页面时发送它。例如:
$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');
- set_status_header([$code = 200[, $text = '']])
参数: - $code (int) -- HTTP status code
- $text (string) -- Optional message
返回: CI_Output instance (method chaining)
返回类型: CI_Output
允许你手工设置服务器的 HTTP 状态码。例如:
$this->output->set_status_header(401); // Sets the header as: Unauthorized
阅读这里 得到一份完整的 HTTP 状态码列表。
注解
这个方法是 通用方法 中的 set_status_header() 的别名。
- enable_profiler([$val = TRUE])
参数: - $val (bool) -- Whether to enable or disable the Profiler
返回: CI_Output instance (method chaining)
返回类型: CI_Output
允许你启用或禁用 程序分析器 ,它可以在你的页面底部显示 基准测试的结果或其他一些数据帮助你调试和优化程序。
要启用分析器,将下面这行代码放到你的 控制器 方法的任何位置:
$this->output->enable_profiler(TRUE);
当启用它时,将生成一份报告并插入到你的页面的最底部。
要禁用分析器,你可以这样:
$this->output->enable_profiler(FALSE);
- set_profiler_sections($sections)
参数: - $sections (array) -- Profiler sections
返回: CI_Output instance (method chaining)
返回类型: CI_Output
当程序分析器启用时,该方法允许你启用或禁用程序分析器的特定字段。 请参考 程序分析器 文档获取详细信息。
- cache($time)
参数: - $time (int) -- Cache expiration time in minutes
返回: CI_Output instance (method chaining)
返回类型: CI_Output
将当前页面缓存一段时间。
更多信息,请阅读 文档缓存 。
- _display([$output = ''])
参数: - $output (string) -- Output data override
返回: void
返回类型: void
发送最终输出结果以及服务器的 HTTP 头到浏览器,同时它也会停止基准测试的计时器。
注解
这个方法会在脚本执行的最后自动被调用,你无需手工调用它。 除非你在你的代码中使用了 exit() 或 die() 结束了脚本执行。
例如:
$response = array('status' => 'OK'); $this->output ->set_status_header(200) ->set_content_type('application/json', 'utf-8') ->set_output(json_encode($response, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES)) ->_display(); exit;
注解
手工调用该方法而不结束脚本的执行,会导致重复输出结果。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论