set_error_handler функциясы
set_error_handler функциясы пайдаланушының қателерді өңдеуішін орнатады.
Бірінші параметр ретінде қате пайда болған кезде шақырылатын callback-функция беріледі.
Екінші қосымша параметр ретінде өңдеуіштің қайталауы тиіс қате түрлерін көрсетуге болады.
Синтаксис
set_error_handler(callable $error_handler, int $error_types = E_ALL | E_STRICT);
Мысал
Қарапайым пайдаланушы қателерді өңдеуішінің мысалы:
<?php
function customError($errno, $errstr, $errfile, $errline) {
echo "Қате [$errno]: $errstr, $errfile файлының $errline жолында";
}
set_error_handler("customError");
echo $undefinedVar;
?>
Кодты орындау нәтижесі:
Қате [8]: Анықталмаған айнымалы: undefinedVar, /path/to/file.php файлының 7 жолында
Мысал
Тек белгілі бір қате түрлерін өңдеу:
<?php
function warningHandler($errno, $errstr) {
if ($errno === E_WARNING) {
echo "Ескерту қабылданды: $errstr";
}
}
set_error_handler("warningHandler", E_WARNING);
strpos(); // Ескерту тудырады
?>
Кодты орындау нәтижесі:
Ескерту қабылданды: strpos() әдісі кемінде 2 параметр күтеді, 0 берілді
Мысал
Қателерді өңдеуішті әдепкі күйге қайтару:
<?php
set_error_handler(null); // Әдепкі өңдеуішке қайтару
?>