3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Legacy { private $_ignore; /** * @param int $ignore */ public function __construct($ignore = E_STRICT) { $this->_ignore = $ignore; } /** * @param callable $func * @return mixed * @throws \Exception */ public function call(callable $func) { $args = func_get_args(); array_shift($args); $er = error_reporting(); error_reporting($er &~ $this->_ignore); try { $ret = call_user_func_array($func, $args); error_reporting($er); return $ret; } catch (\Exception $ex) { error_reporting($er); throw $ex; } } } var_dump(error_reporting()); (new Legacy())->call(function(){ // strict warningが発生する処理 var_dump(error_reporting()); }); var_dump(error_reporting());

preferences:
42.71 ms | 402 KiB | 5 Q