Функсияи 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); // Бозгашт ба коркунаки стандартӣ
?>