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
set_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
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:
Ý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
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:
Duýduryş tutuldy: strpos() expects at least 2 parameters, 0 given
Mysal
Standart ýalňyşlyk işleýjisine gaýtmag:
<?php
set_error_handler(null); // Standart işleýjige gaýtmag
?>