输出类 | Output Class
输出级
Output类是具有一个主要功能的核心类:将最终化的网页发送到请求浏览器。如果您使用该功能,它也负责缓存您的网页。
注
此类由系统自动初始化,因此不需要手动进行。
在正常情况下,您甚至不会注意到Output类,因为它在透明的情况下运行而无需您的干预。例如,当您使用Loader类加载视图文件时,它会自动传递给Output类,该类将在系统执行结束时由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) - 将输出设置为的字符串 |
---|---|
返回: | CI_Output实例(方法链接) |
返回类型: | CI_Output |
- $ output(string) - 将输出设置为的字符串返回:CI_Output实例(方法链接)返回类型:CI_Output允许您手动设置最终输出字符串。用法示例:$ this-> output-> set_output($ data); 重要如果您手动设置输出,它必须是您调用它的函数中完成的最后一件事。例如,如果您在其中一个控制器方法中构建页面,则不要将输出设置为结束。set_content_type($mime_type[, $charset = NULL])参数:$ mime_type(string) - MIME类型idenitifer字符串$ charset(字符串) - 字符集返回:CI_Output实例(方法链接)返回类型:CI_Output
$ mime_type
(string
) - MIME类型idenitifer字符串
$ charset
(字符串
) - 字符集
Returns: CI\_Output instance (method chaining)
Return type: CI\_Output
Permits you to set the mime-type of your page so you can serve JSON data, JPEG’s, XML, etc easily.
$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()
返回: | 内容类型字符串 |
---|---|
返回类型: | 串 |
get_header($header)
参数: | $ header(string) - HTTP标头名称 |
---|---|
返回: | HTTP响应头或NULL,如果未找到 |
返回类型: | mixed |
- $ header(string) - HTTP头名称返回:HTTP响应头或NULL,如果未找到返回类型:mixed返回请求的HTTP头值,或者如果未设置请求的头,则返回NULL。例如:$ this-> output-> set_content_type('text / plain','UTF-8'); echo $ this-> output-> get_header('content-type'); //输出:text / plain; charset = utf-8注意标题名称以不区分大小写的方式进行比较。注意header()还会检测通过PHP本地函数发送的原始头文件。get_output()返回:输出string返回类型:字符串append_output($output)参数:$ output(string) - appendReturns的附加输出数据:CI_Output实例(方法链接)返回类型:CI_Output
$ output
(string
) - 附加的输出数据
Returns: CI\_Output instance (method chaining)
Return type: CI\_Output
将数据追加到输出字符串中。
$this - >输出 - > append_output($数据);
set_header($header[, $replace = TRUE])
参数: | $ header(string) - HTTP响应头文件$ replace(bool) - 是否替换旧的头文件值(如果已设置) |
---|---|
返回: | CI_Output实例(方法链接) |
返回类型: | CI_Output |
$ header
(string
) - HTTP响应头
$ replace
(bool
) - 是否替换旧的标题值,如果它已经设置
Returns: CI\_Output instance (method chaining)
Return type: CI\_Output
Permits you to manually set server headers, which the output class will send for you when outputting the final rendered display. Example:
$ 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 MYH: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状态码$ text(字符串) - 可选消息 |
---|---|
返回: | CI_Output实例(方法链接) |
返回类型: | CI_Output |
$ code
(int
) - HTTP状态码
$ text
(string
) - 可选消息
Returns: CI\_Output instance (method chaining)
Return type: CI\_Output
允许您手动设置服务器状态标题。例:
$this- >输出 - > set_status_header(401); //将头部设置为:未授权
看这里有关标题的完整列表。
注
此方法是公共函数set_status_header()
...
enable_profiler([$val = TRUE])
参数: | $ val(bool) - 是否启用或禁用Profiler |
---|---|
返回: | CI_Output实例(方法链接) |
返回类型: | CI_Output |
- $ val(bool) - 是否启用或禁用Profiler返回:CI_Output实例(方法链)返回类型:CI_Output允许您启用/禁用Profiler,它将在页面底部显示基准测试和其他数据以进行调试和优化目的。要启用Profiler,请在Controller方法的任何位置放置以下行:$ this-> output-> enable_profiler(TRUE); 启用后,报告将生成并插入到页面的底部。要禁用分析器,您可以使用:$ this-> output-> enable_profiler(FALSE); set_profiler_sections($sections)参数:$ sections(array) - Profiler节返回:CI_Output实例(方法链)返回类型:CI_Output
$ sections
(数组
) - Profiler部分
Returns: CI\_Output instance (method chaining)
Return type: CI\_Output
允许您在启用时启用/禁用Profiler的特定部分。有关更多信息,请参阅[Profiler](../ general / profiling)文档。
cache($time)
参数: | $ time(int) - 以分钟为单位的缓存过期时间 |
---|---|
返回: | CI_Output实例(方法链接) |
返回类型: | CI_Output |
$ time
(int
) - 以分钟为单位的缓存过期时间返回:CI_Output实例(方法链接)返回类型:CI_Output将当前页面缓存指定的分钟数。有关更多信息,请参阅缓存文档。_display([$output = ''])
参数:$ output(string) - 输出数据overrideReturns:void返回类型:void
$ output
(string
) - 输出数据覆盖
Returns: void
Return type: void
Sends finalized output data to the browser along with any server headers. It also stops benchmark timers.
注
此方法在脚本执行结束时自动调用,除非您使用以下命令中止脚本执行,否则不需要手动调用它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;
注
手动调用此方法而不中止脚本执行将导致重复输出。