International PHP Conference Berlin 2025

ParseError

(PHP 7, PHP 8)

Introduction

ParseError est émit quand une erreur se produit lors de l'analyse de code PHP, comme quand eval() est appelé.

Note: ParseError étend CompileError à partir de PHP 7.3.0. Auparavant, elle étendait Error.

Synopsis de la classe

class ParseError extends CompileError {
/* Propriétés héritées */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Méthodes héritées */
public Error::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Error::getMessage(): string
final public Error::getCode(): int
final public Error::getFile(): string
final public Error::getLine(): int
final public Error::getTrace(): array
private Error::__clone(): void
}
add a note

User Contributed Notes 2 notes

up
1
SixPigPigWikiSix
1 year ago
The priority of Parse Error should be higher than that of Fatal Error,Parse Error, which has the highest priority among all PHP exceptions. See the following example:
<?php
error_reporting
(E_ALL);
test()
//System output a parse error
?>
<?php
error_reporting
(E_WARNING);
test()
//System output a parse error
?>
<?php
error_reporting
(E_ERROR);
test()
//System output a parse error
?>
<?php
error_reporting
(E_PARSE);
test()
//System output a parse error
?>
up
-2
andrian dot test dot job at gmail dot com
5 years ago
<?php
/*
* The function eval() evaluate his argument as an instruction PHP
* Then the argument must respect the standar of PHP codage
* In this example the semicolon are missign
*/

try{

eval(
"echo 'toto' echo 'tata'");

}catch(
ParseError $p){

echo
$p->getMessage();
}

/*
* If you run this code the result is different of the result of above code
* PHP will output the standar parse Error: syntax error, ....
*

eval("echo 'toto' echo 'tata'");

*/
To Top