Функсияи set_error_handler

Функсияи set_error_handler коркунаки истифодабаранда барои коркарди хатоҳоро насб мекунад. Ба параметри аввал функсияи callback-ро мефиристанд, ки ҳангоми рух додани хато фарохонӣ мешавад. Бо параметри дуввуми ихтиёрӣ метавон навъҳои хатоҳоеро, ки коркунак бояд ба даст орад, муайян кард.

Синтаксис

phpset_error_handler(callable $error_handler, int $error_types = E_ALL | E_STRICT);

Мисол

Мисоли оддии коркунаки хатоҳои истифодабаранда:

php<?php
  function customError($errno, $errstr, $errfile, $errline) {
    echo "Хато [$errno]: $errstr дар $errfile дар сатри $errline";
  }
  
  set_error_handler("customError");
  
  echo $undefinedVar;
?>

Натиҷаи иҷрои код:

phpХато [8]: Тағирёбандаи муайяннашуда: undefinedVar дар /path/to/file.php дар сатри 7

Мисол

Коркарди танҳо баъзе навъҳои муайяни хатоҳо:

php<?php
  function warningHandler($errno, $errstr) {
    if ($errno === E_WARNING) {
      echo "Огоҳӣ ба даст оварда шуд: $errstr";
    }
  }
  
  set_error_handler("warningHandler", E_WARNING);
  
  strpos(); // Огоҳӣ ба вуҷуд меорад
?>

Натиҷаи иҷрои код:

phpОгоҳӣ ба даст оварда шуд: strpos() на камтар аз 2 параметрро интизор аст, 0 дода шуд

Мисол

Бозгардонидани коркунаки стандартии хатоҳо:

php<?php
  set_error_handler(null); // Бозгашт ба коркунаки стандартӣ
?>