CodeIgniter ユーザガイド 日本語版 Version 1.7.3


出力クラス

出力クラスはリクエストを発信したブラウザに処理済みのwebページを送信するという一つの主要機能をもった小さなクラスです。また、このクラスは、キャッシュ機能を利用する場合にページをキャッシュする責任も持っています。

Note:このクラスは、システムで自動的に初期化されるので、手動で初期化する必要はありません。

出力クラスは、ユーザの介入なしに隠れて動作するので、通常の環境では、出力クラスを意識することはありません。たとえばビューファイルを読み込むためにローダ(読み込み処理)クラスを使用した場合、ビューファイルは出力クラスに自動的に渡され、CodeIgniterのシステムによって実行の最後で呼ばれます。しかし、必要があれば、次のいずれかのメソッドを使って、手動で出力に介入することもできます:

$this->output->set_output();

最終出力の文字列を手動でセットできます。使用例:

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

Important: 手動で出力をセットしたとき、呼ばれているメソッドの処理がそこで終わります。たとえば、コントローラのメソッドの中で、ページを構築した場合、処理の最後になるまで、出力をセットしてはいけません。

$this->output->get_output();

出力クラスに保存するために送られた出力を手動で読み取ることができます。使用例:

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

$this->load->view() などのCodeIgniterの機能を使って、すでに出力クラスに送られたデータの場合、このメソッドを使ってのみ、そのデータを取得できるということに注意しておいてください。

$this->output->set_header();

最終レンダリングされた表示を出力クラスが出力する際に、サーバが返すHTTPレスポンスのヘッダを手動でセットできます。例:

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

サーバが返すHTTPレスポンスヘッダのステータスを手動でセットできます。例:

$this->output->set_status_header('401');
// ヘッダは Unauthorized に設定されます

全てのHTTPレスポンスヘッダの一覧をご覧ください。

$this->output->enable_profiler();

デバッグあるいは最適化のためにベンチマークなどのデータをページの末尾に表示するプロファイラを有効/無効にします。

プロファイラを有効にするには、コントローラ のメソッド内のいずれかの場所に、次のメソッドを設置してください:

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

有効化されると、レポートが生成され、ページの最下部に挿入されます。

プロファイラを無効にするには、次のコードを使います:

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

$this->output->cache()

CodeIgniterの出力クラスはキャッシュ操作も可能です。より詳しい情報は、Webページのキャッシュをご覧下さい。