3v4l.org

run code in 300+ PHP versions simultaneously
<?php function accept_callable(callable $arg) {} class Foo { public function __construct() { set_error_handler([__CLASS__, 'log_error']); set_exception_handler([$this, 'log_exception']); } public function log_error( $type, $message, $file, $line ) { echo "log error" . PHP_EOL; return true; } public function log_exception( $e ) { echo "log exception" . PHP_EOL; var_dump($e); } } $foo = new Foo(); $previousHandler = set_error_handler(static fn () => false); restore_error_handler(); accept_callable($previousHandler);

preferences:
22.51 ms | 407 KiB | 5 Q