kazpgmの日記

『プログラム自動作成@自動生成』作成の日記

TOOL更新_Log出力クラスを修正した。

TOOL更新_Log出力クラスを修正した。(http://d.hatena.ne.jp/kazpgm/20100118/1263836416)を直接修正した。

1.今日、phpのすべての結果(html)にデバック用javascript(WEB画面上でCTL+U押下するとhtmlエレメント情報をクリップボードに吐き出すもの。レングス、マックスレングス、クラス、value、エレメント名などをチェックしようと思う)を埋め込むということを考えた。内容はもうちょっとできてから書くことにするが、
そのとき、print_rの第2パラメータtrueで変数に入れれることを知った。その説明にprint_rは内部でob_start()使うのでon_startは使わないで。と書いてあった。・・・ので修正した。(使っても別に変にならなかったけど)
2.ob_start()の説明書を読むと、”出力バッファはスタッカブルであり、このため、他の ob_start() がアクティブの間に ob_start() をコールすることが可能です。この場合、 ob_end_flush() を適切な回数コールするようにしてください。 ”とある。なかなか使えそうな気がする。

<<修正前>>
    // DEBUGログ出力
    public function outDbgLog($id, $msg = PHP_EOL) {
・・・
        } else {                         // その他はvar_dumpして出力
            ob_start();
            //var_dump($msg);
            print_r($msg);
            $dmp =ob_get_contents();
            ob_end_clean();
            $log .= $dmp;
        }
<<修正後>>
    // DEBUGログ出力
    public function outDbgLog($id, $msg = PHP_EOL) {
・・・
        } else {                         // その他はvar_dumpまたはprint_rして出力
            // var_dumpより print_rのほうが見やすいので。(print_r($msg, true);はob_start関連がいらない。)
            //ob_start();
            //var_dump($msg);
            //$dmp =ob_get_contents();
            //ob_end_clean();
            //$log .= $dmp;
            $dmp = print_r($msg, true);
            $log .= $dmp;
        }

03/01 01:00-02:00