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); // Әдепкі өңдеуішке қайтару
?>