フォーラムや Q&A Web サイトは、学習のための優れたリソースです。
昨日、私はstackoverflow .comで質問をしました。この議論は、 PHPとJavascriptを使用して PHP の実行時エラーの大部分を抑える新しい方法を作成するきっかけになりました。
多くの潜在的なランタイム エラーを含む PHP ソース コードがあるとします。そのため、HTML タグ内の次の行にコードを配置しました。たとえば、PHP コードを使用する必要がある最初の位置です。
<script type="text/javascript">
var nerrors = 0; // PHP Errors count in Javascript
function PHPErrors() { // Javascript Function that wraps the PHP Code
<?php
// MyErrorHandler is my function that my custom error handler
// uses with error parameters in that given order.
function myErrorHandler($errno, $errstr, $errfile, $errline) {
echo "document.getElementById('PHPError').innerHTML += " .
"\"$errno: $errstr ($errline)<br>\";\r\n";
echo "nerrors = nerrors + 1;\r\n";
return true;
}
// That's the line the set my custom new error-handling
// disabling the default error handling
$old_error_handler = set_error_handler("myErrorHandler");
// Below random PHP code full of errors
$b = $a; // PHP Error 1
$c = $a +1; // PHP Error 2
$d = $a + 1; // PHP Error 3
$e = $_SESSION['glove']; // PHP Error 4
?>
// No PHP runtime error deserves a nice messagen
if (nerrors===0) {
document.getElementById('PHPError').innerHTML =
"Well done! PHP without errors."; }
} // End Javascript Function
このコードの後に、Javascript と PHP を自由に追加できます。最後に、HTML 本文内のいくつかの場所に、以下の 2 行を挿入します。
<p id="PHPError"> </p>
<button onclick="PHPErrors()">Show me all PHP runtime errors</button>
このPHPページを閲覧すると、
最後にそれを押すと、すべての PHP ランタイム エラー メッセージが表示されます
8: Undefined variable: a (26)
8: Undefined variable: d (27)
8: Undefined variable: c (28)
8: Undefined index: glove (29)
または楽しい
Well done! PHP without errors.
明らかに、ボタンは必要なく、このコードを JavaScript の onload 関数内に含めることができます。