set_error_handler funksiýasy

set_error_handler funksiýasy ulanyjy tarapyndan kesgitlenýän ýalňyşlyk işleýjini ornaşdyrýar. Birinji parametre hökmünde ýalňyşlyk ýüze çykanda çagyryljak callback-funksiýa geçirilýär. Ikinji hökmany däl parametre bilen işleýjiň tutmaly bolan ýalňyşlyk görnüşlerini görkezip bolýar.

Syntax

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

Mysal

Ulanyjy tarapyndan kesgitlenýän ýalňyşlyk işleýjiniň ýönekeý mysaly:

php<?php
  function customError($errno, $errstr, $errfile, $errline) {
    echo "Ýalňyşlyk [$errno]: $errstr $errfile faýlynyň $errline setirinde";
  }
  
  set_error_handler("customError");
  
  echo $undefinedVar;
?>

Kodyň ýerine ýetiriliş netijesi:

phpÝalňyşlyk [8]: Undefined variable: undefinedVar /path/to/file.php faýlynyň 7 setirinde

Mysal

Diňe kesgitli görnüşli ýalňyşlyklary işlemek:

php<?php
  function warningHandler($errno, $errstr) {
    if ($errno === E_WARNING) {
      echo "Duýduryş tutuldy: $errstr";
    }
  }
  
  set_error_handler("warningHandler", E_WARNING);
  
  strpos(); // Duýduryş döreder
?>

Kodyň ýerine ýetiriliş netijesi:

phpDuýduryş tutuldy: strpos() expects at least 2 parameters, 0 given

Mysal

Standart ýalňyşlyk işleýjisine gaýtmag:

php<?php
  set_error_handler(null); // Standart işleýjige gaýtmag
?>