Categories: php

Yiiのイベントを利用してブラウザへの出力をgzipで圧縮してみる。

Yiiでは、ブラウザからのリクエストがあったときと終わったときにイベントが設定されています。これらのイベントにハンドラーを設定することで、ブラウザへの出力をgzipで圧縮することができます。

修正するファイルは、一番上のディレクトリにあるindex.phpです。

require_once($yii);
Yii::createWebApplication($config)->run();

になっているところを、

require_once($yii);
$app=Yii::createWebApplication($config);
Yii::app()->onBeginRequest=($event)
{
  return ob_start("ob_gzhandler");
}
Yii::app()->onEndRequest=($event)
{
  return ob_end_flush();
}
$app->run();

とすれば完了です。

※参考

onBeginRequestとonEndRequestの詳細はこちら

 

nakade

Share
Published by
nakade
Tags: Yii