XOOPS Cubeでechoとかvar_dumpができない | Suinasia
XCLではテンプレートがあるモジュールではechoやvar_dumpなどができないようです。var_dumpはデバッグでよく使うので、使えないとかなり不便です。
IDE使ってると、ブレークポイント&ステップ実行で気にならないのかもしれません。
・・・・といいつつ、それは私も最近VisualStudioで「こんな便利なものが!!」と思ったので、PHP書く時には使ってません。VS.PHP使えば良いって話ですが。
なので、XOOPSCube Legacyのdebugには、昔ながらのvar_dump();にexit();を組み合わせています。もっというと、全然流れが分からなくなった時は
<?php exit(__FILE__.__LINE__);
をそこかしこに埋め込んでブレークポイント代わりにします。ほんと、実に不便です。
これがあまりにも不便だと、ファイルに出力するようにします。mainfile.phpで$fp = fopen(...);してグローバル変数ファイルポインタ$fpを作って、至る所に
<?php fputs($GLOBALS['fp'], sprintf('%s [%s: %d] ......', date("Y-m-d H:i:s"), __FLIE__, __LINE__));
を埋め込みます。
で、shellからtail -f でこのファイルを閲覧しつつブラウザチェックします。
カッコワルいと思います。
本当は、ロガークラスを作って、このファイルを見るべきだと思います。
みんな、ロガークラス欲しいよね。xoopsLoggerはいやだよね。