XOOPS Cube デバッグ用 preload \"ryusDebug\"
XOOPS Cube には、デバッグモードがあります。
デバッグモードの選択肢は 4 つ
1.オフ
2.PHP デバッグ
3.MySQL/Blocks デバッグ
4.Smarty テンプレートデバッグ
モジュール開発中は常に PHP デバッグに設定して開発しています。Notice や Warning メッセージを見てデバッグするためです。
もうひとつ、開発中に見ておきたいのが MySQL のクエリです。
リクエストパラメータによって、取得、表示するデータが異なるようなプログラムを組むことが多いモノです。
言い換えると、リクエストパラメータを元に MySQL へのクエリも動的に組み立てているわけです。
そのため、思った通りにクエリが発行されているのか?
クエリエラーが起きてはいないか?
というのは開発中に気になるところです。
そこで私は XOOPS2 を利用していたころから PHP デバッグモードにしつつ、クエリログもフッタに表示させていました。
同じことを XOOPS Cube2.1 でも行えるようにした preload が ryusDebug です。
preload に追加しただけは機能しません。
開発中に使うテーマの theme.html に下記を追加する必要があります。
PRE < {xoops_explaceholder control=ryusDumpSql}>
これを Smarty プラグインで行わずxoops_explaceholder を使う利点は control で指定されたデリゲートが定義されていなければ、無視される点です。
テーマに上記を追加したままサイトに UP してしまっても、preload が無ければクエリログは表示されません。エラーにもなりません。
# ryus_date もこのパターンに変更したいと思ってます。。
ちなみに、モジュール内でデバッグ用に echo した内容を表示するには下記も必要です。
< {$stdout_buffer}>