CodeIgniter 拥有一个输出类用来确保你修改的数据会自动被传递给浏览器。关于这个的更多信息可以在视图和输出类里找到。
有些时候,你可能想要自己发布修改一些最终的数据或是自己把它传递给浏览器。CodeIgniter 允许你给你的控制器增加一个名为 _output() 的方法来接收最终的数据。
注意: 如果你的控制器包含一个 _output() 方法,那么它将总是被调用,而不是直接输出最终的数据。这个方法类似于OO里的析构函数,不管你调用任何方法这个方法总是会被执行。
例如:public function _output($output)
{
echo $output;
}
请注意,你的 _output() 将接收最终的数据。
Benchmark和内存的使用率数据将被渲染,缓存文件会被写入(如果已启用缓存),并且 HTTP 头也将被发送(如果您使用该功能),然后交给 _output() 函数。
为了让你的控制器输出缓存正确, 它的 _output() 函数可以这样来写:if ($this->output->cache_expiration > 0)
{
$this->output->_write_cache($output);
}
如果您正在使用页面执行时间和内存使用统计的功能,这可能不完全准确,因为他们不会考虑到你所做的任何进一步的动作。
请在输出类参用可用的方法,来控制输出以使其在任何最终进程完成之前执行。