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

phpset_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<?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:

phpXə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<?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:

phpXəbərdarlıq tutuldu: strpos() expects at least 2 parameters, 0 given

Nümunə

Standart xəta emalçısına qayıdış:

php<?php
  set_error_handler(null); // Standart emalçıya qayıdış
?>