set_error_handler funksiyasi
set_error_handler funksiyasi foydalanuvchi tomonidan belgilangan xatolarni qayta ishlovchini o'rnatadi.
Birinchi parametrda xatolik yuzaga kelganda chaqiriladigan callback-funksiya uzatiladi.
Ikkinchi ixtiyoriy parametrda qayta ishlovchi tomonidan ushlab qolinadigan xatolik turlarini ko'rsatish mumkin.
Sintaksis
set_error_handler(callable $error_handler, int $error_types = E_ALL | E_STRICT);
Misol
Foydalanuvchi tomonidan belgilangan xatolarni qayta ishlovchining oddiy misoli:
<?php
function customError($errno, $errstr, $errfile, $errline) {
echo "Xatolik [$errno]: $errstr faylda $errfile qatorda $errline";
}
set_error_handler("customError");
echo $undefinedVar;
?>
Kodni bajarish natijasi:
Xatolik [8]: Aniqlanmagan o'zgaruvchi: undefinedVar faylda /path/to/file.php qatorda 7
Misol
Faqat ma'lum turdagi xatolarni qayta ishlash:
<?php
function warningHandler($errno, $errstr) {
if ($errno === E_WARNING) {
echo "Ogohlantirish ushlab qolindi: $errstr";
}
}
set_error_handler("warningHandler", E_WARNING);
strpos(); // Ogohlantirishni keltirib chiqaradi
?>
Kodni bajarish natijasi:
Ogohlantirish ushlab qolindi: strpos() kamida 2 parametr kutmoqda, 0 berildi
Misol
Standart xatolarni qayta ishlovchiga qaytish:
<?php
set_error_handler(null); // Standart qayta ishlovchiga qaytish
?>