2007年4月27日(金曜日)

XOOPS Cube デバッグ用 preload “ryusDebug”

カテゴリー: - Ryuji @ 17時55分32秒

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.

  1. ご結婚されたんですか?
    おめでとうございます。
    ズープス・・・勉強したいです。
    末永くお幸せに。

    Comment by VtWin — 2007年4月28日(土曜日) @ 19時46分04秒

Ȥ

ʤߥȤդ뤳ȤϽޤ

10 queries. 0.012 sec.
Powered by WordPress Module based on WordPress ME & WordPress

〒104-0061 東京都中央区銀座1丁目3番3号 G1ビル7階
お問い合わせ TEL 03-3524-8860

Copyright(c) 2012 RYUS.All Rights Reserved.