CodeIgniterにどっぷりハマっているロジカルの開発スタッフでございます。 いやはや今さらながらではありますが、みなさんデバッグってどうされてますかね?
今回CodeIgniter使ってるならぜひ利用いただきたい、 「プロファイラー」についてです。
プロファイラーって?
よくvar_dumpやらで変数の中身を出力されていたりしますが、 消しそびれだったり、コメントアウトで残ってたりだとかで恰好悪いですよね。 そもそも、xDebugぐらい使いましょうやって話なんですがね。
で、この「プロファイラー」ってのはCodeIgniterが標準で備えている機能で、 各種変数の中身(SESSION、POST、GETやら)が見れたり クエリーの内容、そして実行時間までも確認することができたりします。
下の絵みたいなのがページの下部に出力されるようになります。意外と見やすいです。 いやほんとクエリについてはxDebugでも見きれてなかったんで大助かりです。
とりあえず出してみた
共通で出力させたいので、とりあえずは下のようにやってみた。
/** * コンストラクタ */ function __construct() { parent::__construct(); // development の場合 プロファイラを有効に if (ENVIRONMENT === 'development') { $this->output->enable_profiler(); } }・MY_Controllerに突っ込んで、どこでも出るようにしてます。 ・どうやら「parent::__construct();」よりあとにないといけない。 ・開発モードのときだけだすようにした。
【調整が必要】 ・CSV出力とか、CIで処理を経由すると、開発中でも出てほしくないときに出ちゃうので 個別に出さないようにする処理が必要・・・・
$this->output->enable_profiler(FALSE);くわしくはこちらをご覧あれ CodeIgniter ユーザガイド 出力クラス
CodeIgniterが備えている便利機能に気づかないまま数か月もすぎておりました。 こんなの普通しょって内容でははありますが、まだ利用されていないようでしたら、 絶対!とはいわないまでも便利なのでぜひ活用ください。