Получите помощь, поддержку и профессиональное общение в Клубе CodeIgniter

CodeIgniter User Guide Version 2.1.3


Класс вывода (Output)

Класс вывода это небольшой класс с единственной основной функцией: отправлять финализированные веб-страницы запрашивающему браузеру. Он также способен кешировать ваши веб-страницы, если вы используете эту опцию.

Примечание: Этот класс автоматически инициализируется системой, поэтому нет нужны делать это вручную.

При обычных обстоятельствах вы даже не заметите этот класс, так как он работает прозрачно, без вашего вмешательства. Например, когда вы используете класс загрузчика для загрузки отображения, он автоматически передает данные классу вывода, который автоматически вызывается CodeIgniter-ом при завершении выполнения системы. Однако, если это необходимо, вы можете вмешаться в вывод, используя следующие функции:

$this->output->set_output();

Позволяет вам вручную установить финальную строку вывода. Пример использования:

$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();

Позволяет вам вручную получить любой вывод, который был отправлен на хранение в класс вывода. Пример использования:

$string = $this->output->get_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();

Библиотека вывода CodeIgniter также контролирует кеширование. Смотрите более подробную информацию в соответствующем разделе документации.

Разбор переменных выполнения

CodeIgniter будет разбирать (парсить) псевдопеременные {elapsed_time} и {memory_usage} в вашем выводе по умолчанию. Чтобы выключить это, установите свойство класса $parse_exec_vars в FALSE в вашем контроллере. $this->output->parse_exec_vars = FALSE;

Поделиться


Переведено в компании Аринт.

Спасибо!

Вы тоже можете оказать помощь проекту! Как это сделать?

Помощь и поддержка

Вы можете задать вопросы и получить ответы и советы от гуру CodeIgniter и веб-разработки: вступайте в Клуб CodeIgniter

Яндекс.Метрика