Класс Output (вывод)
Класс Output - это небольшой класс с одной главной функцией — отправлять готовую веб-страницу в запросивший браузер. Это также влияет на кеширование ваших веб-страниц, если вы используете эту функцию.
Примечание: Этот класс инициализируется автоматически. Нет нужды делать это вручную.
В нормальных обстоятельствах вы даже не заметите класс Output, так как он работает прозрачно, без вашего вмешательства. Например, когда вы используете класс Loader, чтобы загрузить отображение, это автоматически передается классу Output, который вызывается автоматически CodeIgniter-ом по завершению выполнения. Однако, если у вас есть нужда вмешиваться в вывод, вы можете сделать это с помощью следующих функций:
$this->output->set_output();
Позволяет вам вручную установить строку вывода. Пример использования:
$this->output->set_output($data);
Важно: Если вы отправляете вывод вручную, это должно быть последней инструкцией функции, из которой вы это делаете. Например, если вы строите страницу в вашем контроллере, не делайте вывод до самого конца.
$this->output->get_output();
Позволяет вам вручную получить вывод, который был отправлен в класс Output. Пример использования:
$string = $this->output->get_output();
Обратите внимание на то, что данные могут быть извлечены этой функцией лишь в том случае, если они предварительно были направлены в класс Output одной из функций CodeIgniter, например $this->load->view().
$this->output->append_output();
Добавляет данные в строку вывода. Например:
$this->output->append_output($data);
$this->output->set_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');
Позволяет вам вручную установить серверный заголовок статуса. Пример:
$this->output->set_status_header('401');
// Устанавливает заголовок: Unauthorized
Смотрите тут полный список заголовков.
$this->output->enable_profiler();
Позволяет вам включить/выключить Профайлер, который покажет данные тестов и другие данные внизу вашей страницы, в целях отладки и оптимизации.
Для того, чтобы включить профайлер, разместите эту функцию в вашем контроллере:
$this->output->enable_profiler(TRUE);
Отчет будет сгенерирован и вставлен в низ ваших страниц.
Для того, чтобы выключить профайлер, используйте:
$this->output->enable_profiler(FALSE);
$this->output->set_profiler_sections();
Позволяет вам включить или выключить конкретные секции профайлера. Изучите документацию по профайлеру для дополнительной информации.
$this->output->cache();
Библиотека Output также контролирует кеширование. Для дополнительной информации смотрите документацию по кешированию.
Разбор переменных выполнения
CodeIgniter будет по умолчанию разбирать псевдо-переменные {elapsed_time} и {memory_usage} в вашем выводе.
Чтобы выключить это, установите в вашем контроллере свойство $parse_exec_vars в FALSE.
$this->output->parse_exec_vars = FALSE;