PHP では、「set_error_handler()」関数を使用してエラー処理をカスタマイズできます。この関数の機能は、「set_error_handler(callable $error_handler. ..)」。
この記事の動作環境: Windows 7 システム、PHP バージョン 7.1、DELL G3 コンピューター
エラー プロンプトのカスタマイズ方法in php?
PHP set_error_handler()
: カスタム エラー処理関数
PHP には set_error_handler() 関数が用意されており、これを使用して別の関数を指定できます。エラー処理関数の構文は次のとおりです:
set_error_handler(callable $error_handler [, int $error_types = E_ALL | E_STRICT ])
パラメータの説明
1) $error_handler はユーザー定義の関数名です。関数名に加えて、NULL を渡すこともできます。ハンドラーをリセット デフォルト状態では、参照オブジェクトとオブジェクト メソッド名の配列を渡すこともできます。
ユーザー定義関数の形式は次のとおりです:
error_handler(int $errno , string $errstr [, string $errfile [, int $errline [, array $errcontext ]]])
その中で:
最初のパラメータ $errno はエラー レベルを表し、整数型です。
# #2 番目のパラメータ $errstr は文字列型のエラー情報を表します; 3 番目のパラメータ $errfile はオプションのパラメータで、エラーが発生したファイル名を表します。文字列型;4 番目のパラメータ $errline もオプションのパラメータで、エラーが発生した行番号を示し、整数型です。5 番目のパラメータ $errcontext もオプションですパラメータ (PHP7.2.0 以降では非推奨) は、エラーが発生したときにアクティブなシンボル テーブルの配列を表します。つまり、$errcontext には、エラーがトリガーされたスコープ内のすべての変数の配列が含まれます。ユーザーのエラー ハンドラーはエラー コンテキストを変更しないでください。 注: set_error_handler() 関数が FALSE を返した場合、標準エラー ハンドラーは引き続き呼び出されます。 2) $error_types パラメータは、エラーの表示を制御できる設定ファイル php.ini の error_reporting と同様であり、このパラメータを使用して $error_handler のトリガーをブロックできます。このマスクがないと、$error_reporting の設定に関係なく、エラーごとに $error_handler が呼び出されます。 エラー ハンドラーが以前に定義されている場合はプログラム名が返され、組み込みエラー ハンドラーの場合は NULL が返されます。無効なコールバック関数が指定された場合も NULL が返されます。以前のエラー ハンドラーがクラス メソッドだった場合、この関数はクラス名とメソッド名を含むインデックス付き配列を返します。 [例] エラー処理関数をカスタマイズし、プログラム内のエラー処理に使用します。
<?php function error_handler($errno, $errstr, $errfile, $errline ) { echo "error number:".$errno."<br/>"; echo "error msg:".$errstr."<br/>"; echo "error file:".$errfile."<br/>"; echo "error line:".$errline."<br/>"; die('something error'); } set_error_handler("error_handler"); strpos(); ?>
error number:2 error msg:strpos() expects at least 2 parameters, 0 given error file:D:\WWW\index.php error line:10 something error
<?php function error_handler($errno, $errstr, $errfile, $errline ) { echo "error number:".$errno."<br/>"; echo "error msg:".$errstr."<br/>"; echo "error file:".$errfile."<br/>"; echo "error line:".$errline."<br/>"; die('something error'); } set_error_handler("error_handler"); /* 触发异常 */ try { $a = 5/0; echo $a; } catch(Exception $e) { echo $e->getMessage(); } ?>
error number:2 error msg:Division by zero error file:D:\WWW\index.php error line:12 something error
PHP ビデオ チュートリアル 」
以上がPHPでエラープロンプトをカスタマイズする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。