PHP Programming Error Types
All Contributions
Logical errors can be a harder type of error to find and eliminate. This type of error occurs when perfectly valid code does exactly what it is instructed to do, but that was not what the writer intended. This error does not terminate the execution of the script.
Example-
<?php
if($i = 1) {
echo 'Value is equal to One';
}
?>
The above snippet of the code is perfectly valid. This compiles and runs successfully without any error messages, but does not do the right thing.
Runtime errors can be harder to detect and fix. Like including a file that does not exist, calling a function that does not exist, failure to check input data, reading or writing to a file that does not exist. These errors stop the execution of the script immediately. This is because PHP cannot proceed without properly executing the statement where the error occurred.
Example-
<?php
require('file.php');
?>
If the required file 'file.php' does not exist, then this generates a runtime error.
This script generates the following error message at runtime -
Fatal error: require(): Failed opening required 'file.php' (include_path='.;C:\php\pear') in runtime_error.php on line 2
PHP language has a set of rules called the syntax, which statements must follow to be valid. If a statement does not follow the rules of a language, it is said to be a syntax error. Syntax errors are often called parse errors in a PHP like interpreted language. Syntax errors stop the execution of the script.
Example-
<?php
$var = sample';
$x = (3 + 2) * 6);
echo ($x);
?>
In the above code, at the first line, we have missed the opening quotation mark, and the second line of our code is mis-formed as an opening bracket has been omitted.
This script generates the following error message -
Parse error: syntax error, unexpected ''; ' (T_ENCAPSED_AND_WHITESPACE) in parse_error.php on line 2
The parse errors are detected by the parser, which checks the code's syntax before it is executed.
total contributions (4)
The constants below are always available as part of the PHP core-