(PHP 8 >= 8.5.0)
get_error_handler — ユーザー定義のエラーハンドラ関数を取得する
この関数にはパラメータはありません。
(もしあれば)現在定義済みのエラーハンドラを返します。
組み込みのエラーハンドラを使っている場合は、null
を返します。
返されたエラーハンドラは、 set_error_handler() に渡された callable そのものです。
例1 get_error_handler() の例
<?php
$handler = function (int $errno, string $errstr, ?string $errfile, ?int $errline) {
echo "Error: " . $errstr . "\n";
};
var_dump(get_error_handler()); // NULL
set_error_handler($handler);
var_dump(get_error_handler() === $handler); // bool(true)
?>
PHP 8.5.0 より前のバージョンでは、 この関数の機能は以下のような polyfill で提供できます:
<?php
if (!function_exists('get_error_handler')) {
function noop_error_handler() {
}
function get_error_handler(): ?callable {
$handler = set_error_handler('noop_error_handler');
restore_error_handler();
return $handler;
}
}
?>