* ヘッダーデータをキャッシュデータと一緒に保存することを許可する方法...
* HTTP ステータス ヘッダーを設定します
* 1.7.2 の共通手続き関数に移動
* 允许你手動设置服务器状態态头(ヘッダー)
* @access public
* @param int ステータスコード
* @param string
* @return void
*/
function set_status_header($code = 200, $text = '')
{
set_status_header($code, $text);
$this を返します。
}
// ----------------------------------------------- ---------------------
/**
* プロファイラーを有効/無効にする
* アナライザーを有効または無効にすることができます
* @アクセス公開
* @param bool
* @return void
*/
関数enable_profiler($val = TRUE)
{
$this->enable_profiler = (is_bool($val)) ? $val : TRUE;
$this を返します。
}
// ----------------------------------------------- ---------------------
/**
* プロファイラーセクションを設定する
* $this->_profiler_sections を設定します
* プロファイラー セクション表示のデフォルト/構成設定の上書きを許可します
* 有効になっている場合、レビューアーの特定の部分を制御 (オン/オフ) できます
*
* @アクセス公開
* @param配列
* @return void
*/
関数 set_profiler_sections($sections)
{
foreach ($sections as $section => $enable)
{
$this->_profiler_sections[$section] = ($enable !== FALSE) ?真/偽;
}
$this を返します。
}
// ----------------------------------------------- ---------------------
/**
* キャッシュを設定する
* キャッシュとキャッシュ時間を設定します
* @アクセス公開
* @param integer $time はキャッシュを更新する分数です
* @return void
*/
関数キャッシュ($time)
{
$this->cache_expiration = ( ! is_numeric($time)) ? 0 : $時間;
$this を返します。
}
// ----------------------------------------------- ---------------------
/**
* ディスプレイ出力
* 显示输出
* すべての「ビュー」データは、コントローラー クラスによって自動的にこの変数に入れられます:
*
* $this->final_output
*
* この関数は、最終的な出力データをブラウザに送信します
* サーバーヘッダーとプロファイルデータを含みます。
も停止します
* ページのレンダリング速度とメモリ使用量を表示できるベンチマーク タイマー。
*
* @access public
* @パラメータ文字列
* @return 混合
*/
関数 _display($output = '')
{
// 注: $CI =& get_instance() を使用できないため、グローバルを使用します
// この関数はキャッシュメカニズムによって呼び出される場合があるため、
// これは CI スーパー オブジェクトが利用可能になる前に発生します
グローバル $BM、$CFG
// 可能であればスーパー オブジェクトを取得します
// // もちろん、スーパーコントローラーが手に入るなら、まずそれを手に入れます。
if (class_exists('CI_Controller'))
$CI =& get_instance();
}
--------------------------------------
// 出力データを設定します
if ($output == '')
$output =& $this->final_output;
}
--------------------------------------
// コントローラーに
がない場合にのみ、キャッシュ ファイルを書き込む必要がありますか?
// 独自の _output() メソッドであり、キャッシュ ファイルを扱っていません。
// 上記の $CI オブジェクトの存在によって判断できます
// キャッシュ時間 > 0 の場合、$ CI スーパー オブジェクトが存在し、そのスーパー オブジェクトの下に _output メソッドが存在します
// _write_cache メソッドを呼び出してキャッシュ ファイルを書き込みます
if ($this->cache_expiration > 0 && isset($CI) && ! Method_exists($CI, '_output'))
$this->_write_cache($output);
}
--------------------------------------
// 経過時間とメモリ使用量を解析します。
// 次に、疑似変数をデータと交換します
// コードの実行時間とメモリ使用時間を計算します
$elapsed = $BM->elapsed_time('total_execution_time_start', 'total_execution_time_end');
// $this->parse_exec_vars が true の場合、{elapsed_time}、{memory_usage} が出力されます
// 計算された時間に置き換えます。
if ($this->parse_exec_vars === TRUE)
$memory = ( ! function_exists('memory_get_usage')) '0' :round(memory_get_usage()/1024/1024, 2)
;
$output = str_replace('{elapsed_time}', $elapsed, $output);
$output = str_replace('{memory_usage}', $memory, $output);
}
--------------------------------------
// 圧縮送信の処理が要求されていますか?
if ($CFG->item('compress_output') === TRUE && $this->_zlib_oc == FALSE)
if (extension_loaded('zlib'))
{
if (isset($_SERVER['HTTP_ACCEPT_ENCODING']) AND strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== FALSE)
{
ob_start('ob_gzhandler');
}
}
}
// ------------------------------------------- ---------------------
// 送信するサーバー ヘッダーはありますか?
// 有没服务器头発行?
if (count($this->headers) > 0)
{
foreach ($this->headers as $header)
{
@header($header[0], $header[1]);
}
}
// ------------------------------------------- ---------------------
// $CI オブジェクトは存在しますか?
// そうでない場合は、キャッシュ ファイルを扱っていることがわかっているため、
// データをエコーアウトして終了します。
// 如果無し$CI就证明当前是一存存出,我们只简单的送信データ据并退出
if ( ! isset($CI))
{
echo $output;
log_message('debug', "ブラウザに送信された最終出力");
log_message('debug', "合計実行時間: ".$elapsed);
TRUE を返します。
}
// ------------------------------------------- ---------------------
// プロファイル データを生成する必要がありますか?
// その場合は、Profile クラスをロードして実行します。
// 如果开启了性能分析我们就调用、
// 会議は、私を助けるためにいくつかの報告を面尾部に生成します。
if ($this->enable_profiler == TRUE)
{
$CI->load->library('profiler');
if ( ! emptyempty($this->_profiler_sections))
{
$CI->profiler->set_sections($this->_profiler_sections);
}
// 出力データに終了 が含まれる場合