PHP 8.6.0 Beta 1 is available for testing

Ошибка ParseError

(PHP 7, PHP 8)

Введение

Ошибка ParseError возникает, когда невозможно разобрать PHP-код, например при вызове функции eval() .

Замечание: С PHP 7.3.0 класс ParseError стал наследником класса CompileError . Раньше класс расширял класс Error .

Обзор класса

class ParseError extends CompileError {
/* Наследуемые свойства */
protected string $message = "";
private string $string = "";
protected int $code ;
protected string $file = "";
protected int $line ;
private array $trace = [];
private ?Throwable $previous = null;
/* Наследуемые методы */
public function Error::__construct (string $message = "", int $code = 0, ? Throwable $previous = null )
final public function Error::getMessage (): string
final public function Error::getPrevious (): ? Throwable
final public function Error::getCode (): int
final public function Error::getFile (): string
final public function Error::getLine (): int
final public function Error::getTrace (): array
final public function Error::getTraceAsString (): string
public function Error::__toString (): string
private function Error::__clone (): void
}

Нашли ошибку?

ИнструкцияИсправлениеСообщение об ошибке
+Добавить

Примечания пользователей 2 notes

up
0
andrian dot test dot job at gmail dot com
6 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'");
*/
up
-1
SixPigPigWikiSix
3 years 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
?>
+Добавить

AltStyle によって変換されたページ (->オリジナル) /