Spec-Zone.ru › CodeIgniter 3

Класс Output

Класс 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 (строка) – Строка, на которую необходимо установить вывод
Возвращает:

Экземпляр CI_Output (цепочка методов)

Тип возвращаемого значения:

CI_Output

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

$this->output->set_output($data);

Важно

Если вы вручную устанавливаете вывод, это должно быть последним действием в вызываемой функции. Например, если вы строит страницу в одном из методов вашего контроллера, не устанавливайте вывод до конца.

set_content_type($mime_type[, $charset = NULL])
Параметры:
  • $mime_type (строка) – Строка идентификатора MIME-типа
  • $charset (строка) – Кодировка символов
Возвращает:

Экземпляр CI_Output (цепочка методов)

Тип возвращаемого значения:

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 HTTP-заголовка
Тип возвращаемого значения: строка

Возвращает HTTP-заголовок Content-Type, который в данный момент используется, за исключением значения кодировки символов.

$mime = $this->output->get_content_type();

Примечание

Если не задано, значение по умолчанию равно ‘text/html’.

get_header($header)
Параметры:
  • $header (строка) – Имя HTTP-заголовка
Возвращает:

HTTP-заголовок ответа или NULL, если не найден

Тип возвращаемого значения:

смешанный тип

Возвращает значение запрошенного HTTP-заголовка или NULL, если запрошенный заголовок не задан. Пример:

$this->output->set_content_type('text/plain', 'UTF-8');
echo $this->output->get_header('content-type');
// Outputs: text/plain; charset=utf-8

Примечание

Имя заголовка сравнивается без учета регистра.

Примечание

Также обнаруживаются исходные заголовки, отправленные с помощью встроенной функции PHP header().

get_output()
Возвращает: Строка вывода
Тип возвращаемого значения: строка

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

$string = $this->output->get_output();

Обратите внимание, что данные можно получить только из этой функции, если они были ранее отправлены в класс вывода одной из функций CodeIgniter, таких как $this->load->view().

append_output($output)
Параметры:
  • $output (строка) – Дополнительные данные вывода для добавления
Возвращает:

Экземпляр CI_Output (цепочка методов)

Тип возвращаемого значения:

CI_Output

Добавляет данные к строке вывода.

$this->output->append_output($data);
set_header($header[, $replace = TRUE])
Параметры:
  • $header (строка) – HTTP-заголовок ответа
  • $replace (логическое значение) – Заменять ли старое значение заголовка, если оно уже задано
Возвращает:

Экземпляр CI_Output (цепочка методов)

Тип возвращаемого значения:

CI_Output

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

$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 (целое число) – HTTP-код состояния
  • $text (строка) – Необязательное сообщение
Возвращает:

Экземпляр CI_Output (цепочка методов)

Тип возвращаемого значения:

CI_Output

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

$this->output->set_status_header(401);
// Sets the header as:  Unauthorized

См. здесь полный список заголовков.

Примечание

Этот метод является псевдонимом для Общей функции set_status_header().

enable_profiler([$val = TRUE])
Параметры:
  • $val (логическое значение) – Включать или отключать Профайлер
Возвращает:

Экземпляр CI_Output (цепочка методов)

Тип возвращаемого значения:

CI_Output

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

Чтобы включить профайлер, поместите следующую строку в любое место внутри методов Контроллера:

$this->output->enable_profiler(TRUE);

При включении будет сгенерирован отчет и вставлен в нижнюю часть ваших страниц.

Чтобы отключить профайлер, используйте:

$this->output->enable_profiler(FALSE);
set_profiler_sections($sections)
Параметры:
  • $sections (массив) – Разделы Профайлера
Возвращает:

Экземпляр CI_Output (цепочка методов)

Тип возвращаемого значения:

CI_Output

Позволяет включать/отключать определенные разделы Профайлера, когда он включен. Для получения дополнительной информации см. документацию по Профайлеру.

cache($time)
Параметры:
  • $time (целое число) – Время истечения кэша в минутах
Возвращает:

Экземпляр CI_Output (цепочка методов)

Тип возвращаемого значения:

CI_Output

Кэширует текущую страницу на указанное количество минут.

Дополнительную информацию см. в документации по кэшированию.

_display([$output = ''])
Параметры:
  • $output (string) – Переопределение данных вывода
Возвращаемое значение:

void

Тип возвращаемого значения:

void

Отправляет окончательные данные вывода в браузер вместе со всеми заголовками сервера. Также останавливает таймеры бенчмарка.

Примечание

Этот метод вызывается автоматически в конце выполнения скрипта, вам не нужно вызывать его вручную, если вы не прерываете выполнение скрипта, используя 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;

Примечание

Вызов этого метода вручную без прерывания выполнения скрипта приведет к дублированию вывода.

© 2014–2020 British Columbia Institute of Technology
Licensed under the MIT License.
https://codeigniter.com/userguide3/libraries/output.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API