正確な結果から乖離が生じた事象をエラーと呼びます。 PHP では、間違った形式のコーディングの使用または実現不可能な機能の実装により、エラーが生成されることがあります。根本原因と重大度のレベルに基づいて、PHP のエラーは次の 4 つのタイプに分類されます。
無料ソフトウェア開発コースを始めましょう
Web 開発、プログラミング言語、ソフトウェア テスト、その他
PHP のエラーの種類について説明します。
PHP では、スクリプトは実行可能コードを開発するために標準文法に従う必要があります。記述されたコードの構文が標準から逸脱すると、構文エラーが発生します。解析エラーとも呼ばれます。このエラーはコンパイル段階自体でチェックされ、コードの実行が停止されます。エラーが修正されず、構文上の欠陥もなくコンパイルが完了しない限り、実行は許可されません。コンパイル時の解析 (構文) エラーを表すために使用されるエラー定数: E_PARSE
例:
以下のコード スニペットは、PHP 変数に値を割り当て、出力ウィンドウにストア値を表示するために開発されました。
<?php $Correct_Var = "Writing a code to demonstrate Syntax(Parse Error)"; Incorrect_Var = "The '$' symbol is missing for variable y!!!"; echo $Correct_Var; echo Incorrect_Var; ?>
出力:
PHP コンパイラは、文字列が $ 記号に関連付けられている場合、変数の存在を認識します。上記のコードでは、変数 Incorrect_Var の定義が文法を満たしていないため、コンパイラーはコードの構文エラーをスローし、実行が中断されます。
このエラーは、存在しないファイルに対してファイル操作を実行しようとしたり、入力値の数、つまり存在する引数の数と異なる関数を呼び出そうとしたりするなど、PHP スクリプトが無効な情報を処理しようとしたときに発生します。呼び出し元の関数定義内。これらは重大なエラーですが、プログラムの実行は停止せず、予期しない結果が表示されます。スクリプトの実行を終了せずに実行時警告を表すために使用されるエラー定数: E_WARNING
例:
以下のコード スニペットは、現在のプログラミング内で別のスクリプト ファイルを呼び出すために書かれています。
<?php echo "Beginning of program execution"; echo "<br>"; echo "<br>"; $Correct_Var = "Writing a code to demonstrate Warning Error"; echo $Correct_Var; echo "<br>"; echo "<br>"; include ("MissingScript.php"); //Calling the script file which is not available echo "Ending of program execution"; ?>
出力:
プログラミングに従って、コンパイラーはコードに正常にコンパイルされ、実行を開始します。実行は順次続行されます。コマンド include (「MissingScript.php」) の場合、デフォルト パス …/usr/share/php でスクリプトを検索しますが、指定された名前のスクリプトが見つかりません。したがって、その特定のコマンドに対する警告メッセージが表示され、残りのコードが設計どおりに実行されて終了します。
このエラーは、スクリプト内で無効なコーディングが行われた場合に PHP で発生します。これは、実行は停止せず、エラー メッセージが表示されて終了する、重大ではないエラーとして分類されます。無効なコードが存在するために発生する、実行時通知メッセージを表すために使用されるエラー定数: E_NOTICE
例:
<?php echo "Beginning of program execution"; echo "<br>"; echo "<br>"; $Correct_Var = "Writing a code to demonstrate Notice Error"; echo $InCorrect_Var; //Try to display value stored in an undefined variable echo "<br>"; echo "<br>"; echo "Ending of program execution"; ?>
出力:
変数 $InCorrect_Var はコード内で定義されていないため、コンパイラーは変数 $InCorrect_Var を認識しません。したがって、通知エラーがスローされます。
呼び出し関数の関数定義の欠落など、無効なコマンドが原因で発生するコンパイル時エラーは、致命的エラーと呼ばれます。このタイプのエラーの重大度レベルはクリティカルであるため、実行が続行されず、致命的なエラー メッセージが出力としてスローされます。スクリプトの終了を引き起こす致命的なエラーを表すために使用されるエラー定数: E_ERROR
例:
以下のコード スニペットは、PHP スクリプトで関数のデモンストレーション アプリケーションを呼び出すように設計されています。
<?php echo "Beginning of program execution"; echo "<br>"; echo "<br>"; $Correct_Var = "Writing a code to demonstrate Fatal Error"; echo $Correct_Var; echo "<br>"; echo "<br>"; UndefinedFunction();//Calling a function which is not defined in the script echo "Ending of program execution"; ?>
出力:
コードは正しいコーディング文法に従って開発されているため、コンパイル中にエラーは検出されません。実行フェーズでは、プログラムのスコープ内で定義されていないため、関数 UndependentFunction() を呼び出すコマンドをデコードできません。したがって、致命的なエラー メッセージがスローされ、プログラムの実行が停止されます。
1. Error handling is easy in PHP. If any developer does not have access to the complete code for any application, it is recommended to use error handling functions in possible scenarios.
2. In order to avoid new error in the PHP programming, developer is expected to follow proper coding guidelines and stays alert towards probabilities of various types of errors, warnings and notices.
3. It is recommended not to allow any error or warning or notice to be displayed to the user. Hence the best practice for any safe PHP programming to ensure the required configuration to be available in php.ini file.
The desired value for the below variables are:
error_reporting as ' E_ALL' display_errors as 'Off' log_errors as 'On'
The below code can be included in any PHP script to configure the desired values in the php.ini file:
error_reporting(E_ALL); ini_set('display_errors','0'); ini_set('log_errors','1');
4. PHP incorporates the feature to enable developer to write own customized error handling functions.
This function needs to be designed with some specific guidelines as follows:
Function should be capable of handling minimum of two input parameters: error message and error level and maximum of 5 input parameters by including the optional parameters such as line number, file and error context.
以上がPHP のエラーの種類の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。