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 です。
・ryusDebug
preload に追加しただけは機能しません。
開発中に使うテーマの theme.html に下記を追加する必要があります。
< {xoops_explaceholder control=ryusDumpSql}>
これを Smarty プラグインで行わずxoops_explaceholder を使う利点は control で指定されたデリゲートが定義されていなければ、無視される点です。
テーマに上記を追加したままサイトに UP してしまっても、preload が無ければクエリログは表示されません。エラーにもなりません。
# ryus_date もこのパターンに変更したいと思ってます。。
ちなみに、モジュール内でデバッグ用に echo した内容を表示するには下記も必要です。
< {$stdout_buffer}>
ryusDebug には、他に print_r を見やすくした ryus_print_r。(もとコードは こちら )
テンプレート中で ryus_print_r を使うための拡張プレースホルダ ryusPrint_r もあります。
ryusPrint_r はテンプレート中で下記のように使います。
< {xoops_explaceholder control=ryusPrint_r var= 変数名 }>
RSS feed for comments on this post.
Ȥ
ʤߥȤդ뤳ȤϽޤ
ご結婚されたんですか?
おめでとうございます。
ズープス・・・勉強したいです。
末永くお幸せに。
Comment by VtWin — 2007年4月28日(土曜日) @ 19時46分04秒