@ 2016-02-17T21:38:33Z <?php
$foo = <<<PHP
\$LOST_VARIABLE = 42;
class Foo {
public function foo() {
// throw notice about deprecated constructor
}
}
PHP;
set_error_handler(function($errno, $errstr) {
throw new Exception($errstr, $errno); // convert error to exception
});
try {
eval($foo);
} catch (Exception $e) {
printf("error %d with message: %s\n", $e->getCode(), $e->getMessage());
}
var_dump(
class_exists('foo'), // exists!
isset($LOST_VARIABLE) // where is my variable
);
Enable javascript to submit You have javascript disabled. You will not be able to edit any code.
Output for 5.5.0 - 5.5.38 , 5.6.0 - 5.6.40 , 8.0.0 - 8.0.30 , 8.1.0 - 8.1.28 , 8.2.0 - 8.2.18 , 8.3.0 - 8.3.6 bool(true)
bool(true)
Output for 7.0.0 - 7.0.33 , 7.1.0 - 7.1.33 , 7.2.0 - 7.2.33 , 7.3.0 - 7.3.33 , 7.4.0 - 7.4.33 error 8192 with message: Methods with the same name as their class will not be constructors in a future version of PHP; Foo has a deprecated constructor
bool(true)
bool(false)
preferences:dark mode live preview
232.52 ms | 403 KiB | 327 Q