set_error_handler funksiyası
set_error_handler funksiyası istifadəçi tərəfindən təyin edilən xəta emalçısını quraşdırır.
Birinci parametrdə xəta baş verəndə çağırılacaq callback-funksiya ötürülür.
İkinci istəyə bağlı parametrlə emalçının tutmalı olduğu xəta növlərini göstərmək olar.
Sintaksis
set_error_handler(callable $error_handler, int $error_types = E_ALL | E_STRICT);
Nümunə
İstifadəçi tərəfindən təyin edilən xəta emalçısının sadə nümunəsi:
<?php
function customError($errno, $errstr, $errfile, $errline) {
echo "Xəta [$errno]: $errstr faylında $errfile sətirdə $errline";
}
set_error_handler("customError");
echo $undefinedVar;
?>
Kodun icrasının nəticəsi:
Xəta [8]: Undefined variable: undefinedVar faylında /path/to/file.php sətirdə 7
Nümunə
Yalnız müəyyən xəta növlərinin emalı:
<?php
function warningHandler($errno, $errstr) {
if ($errno === E_WARNING) {
echo "Xəbərdarlıq tutuldu: $errstr";
}
}
set_error_handler("warningHandler", E_WARNING);
strpos(); // Xəbərdarlıq yaradacaq
?>
Kodun icrasının nəticəsi:
Xəbərdarlıq tutuldu: strpos() expects at least 2 parameters, 0 given
Nümunə
Standart xəta emalçısına qayıdış:
<?php
set_error_handler(null); // Standart emalçıya qayıdış
?>