Kazi set_error_handler

Kazi set_error_handler inaweka kichakataji maalum cha makosa. Kwenye kigezo cha kwanza huletwa kazi ya callback, ambayo itaitwa pale hitilafu itakapotokea. Kwa kigezo cha pili kisichoshurutishwa, unaweza kubainisha aina za makosa ambazo kichakataji kinapaswa kukamatia.

Kiundo

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

Mfano

Mfano rahisi wa kichakataji maalum cha makosa:

php<?php
  function customError($errno, $errstr, $errfile, $errline) {
    echo "Hitilafu [$errno]: $errstr katika $errfile kwenye mstari $errline";
  }
  
  set_error_handler("customError");
  
  echo $undefinedVar;
?>

Matokeo ya utekelezaji wa kificho:

phpHitilafu [8]: Tofauti isiyojulikana: undefinedVar katika /path/to/file.php kwenye mstari 7

Mfano

Kuchakata aina fulani tu za makosa:

php<?php
  function warningHandler($errno, $errstr) {
    if ($errno === E_WARNING) {
      echo "Onyo limekamatwa: $errstr";
    }
  }
  
  set_error_handler("warningHandler", E_WARNING);
  
  strpos(); // Itasababisha onyo
?>

Matokeo ya utekelezaji wa kificho:

phpOnyo limekamatwa: strpos() inatarajia angalau vigezo 2, 0 vililetwa

Mfano

Kurejesha kichakataji kiwango cha makosa:

php<?php
  set_error_handler(null); // Kurejea kwenye kichakataji kiwango
?>