エラー/デバッグ情報が発生したときにキャプチャするように何かを設定する必要がありますが、それを全世界に表示する必要はありません。このアプリケーションにセッション管理が組み込まれているかどうかはわかりませんが、この演習用にいくつかの基本的なコントロールを追加することをお勧めします。
複数のページに含まれる関数を使用すると、エラーを追跡するのが難しくなることがあります。エラーは親ページで発生しているように見えますが、実際には別のページに含まれる関数でトリガーされます。この場合、エラー行番号は誤解を招く可能性があります。
すぐに特定できない断続的なエラーがある場合は、スクリプトで何が起こっているかについてフィードバックを得ることが役立つ場合があります。関数で基本的なデバッグを行う方法の大まかな例を次に示します。
function get_func_argNames($funcName)
{
$f = new ReflectionFunction($funcName);
$result = array();
foreach ($f->getParameters() as $param)
{
$result[] = $param->name;
}
return $result;
}
function myCoolFunction($arg1, $arg2, $arg3)
{
$debug = false;
$php_function_args = implode(', ',get_func_argNames(__FUNCTION__));
$_debug_txt = "<b><span style='color:blue;'>function</span> <span style='color:darkblue;'>" .__FUNCTION__. "</span></b>($php_function_args)";
if ($debug)
{
EmailAppDev($_debug_txt);
}
// myCoolFunction
$x = $arg1 + $arg2 + $arg3;
return $x
}
誰に対して $debug を有効にするかを制御できるセッション アカウントを持っているのが理想的です。
関数を使用していない場合は、スクリプトの戦略的な領域に同様のものを設定して、いつどこで問題が発生するかを調べる必要があります。
アプリ全体を確認しないと、詳細を示すのはかなり困難です。