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); // Стандарттык иштетүүчүгө кайтуу
?>