结果与准确结果发生偏差的事件称为错误。在 PHP 中,由于使用了不正确的编码格式或实现了不可行的功能,可能会产生错误。根据根本原因和严重程度,PHP 中的错误分为 4 种类型,例如:
开始您的免费软件开发课程
网络开发、编程语言、软件测试及其他
让我们讨论 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 编译器会理解任何变量的存在。在上面的代码中,变量 In Correct_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,因为它没有在代码中定义。因此它会抛出通知错误。
由于任何无效命令(例如缺少调用函数的函数定义)而遇到的编译时错误被称为致命错误。此类错误的严重级别非常关键,因此它不会让执行继续进行并抛出致命错误消息作为输出。用于表示触发脚本终止的致命错误的错误常量: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"; ?>
输出:
由于代码是按照正确的编码语法开发的,因此在编译过程中不会捕获任何错误。在执行阶段,它无法解码调用函数 UndefinedFunction() 的命令,因为它未在程序范围内定义。因此,它会导致抛出致命错误消息并停止程序的执行。
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中文网其他相关文章!