A set_error_handler függvény
A set_error_handler függvény egy egyéni hibakezelőt állít be.
Az első paraméterben egy callback függvényt kell átadni, amely a hiba bekövetkeztekor fog meghívódni.
A második, opcionális paraméterben megadhatók azon hibatípusok, amelyeket a kezelőnek el kell kapnia.
Szintaxis
set_error_handler(callable $error_handler, int $error_types = E_ALL | E_STRICT);
Példa
Egy egyszerű példa egy egyéni hibakezelőre:
<?php
function customError($errno, $errstr, $errfile, $errline) {
echo "Hiba [$errno]: $errstr a $errfile fájlban a $errline sorban";
}
set_error_handler("customError");
echo $undefinedVar;
?>
A kód végrehajtásának eredménye:
Hiba [8]: Undefined variable: undefinedVar a /path/to/file.php fájlban a 7 sorban
Példa
Csak bizonyos típusú hibák kezelése:
<?php
function warningHandler($errno, $errstr) {
if ($errno === E_WARNING) {
echo "Elkapott figyelmeztetés: $errstr";
}
}
set_error_handler("warningHandler", E_WARNING);
strpos(); // Figyelmeztetést fog okozni
?>
A kód végrehajtásának eredménye:
Elkapott figyelmeztetés: strpos() expects at least 2 parameters, 0 given
Példa
Alapértelmezett hibakezelő visszaállítása:
<?php
set_error_handler(null); // Visszatérés az alapértelmezett hibakezelőhöz
?>