Funcția set_error_handler
Funcția set_error_handler stabilește un handler de erori personalizat.
În primul parametru este transmisă o funcție callback care va fi apelată la apariția unei erori.
Al doilea parametru opțional poate specifica tipurile de erori pe care handler-ul trebuie să le intercepteze.
Sintaxă
set_error_handler(callable $error_handler, int $error_types = E_ALL | E_STRICT);
Exemplu
Un exemplu simplu de handler personalizat pentru erori:
<?php
function customError($errno, $errstr, $errfile, $errline) {
echo "Eroare [$errno]: $errstr în $errfile la linia $errline";
}
set_error_handler("customError");
echo $undefinedVar;
?>
Rezultatul executării codului:
Eroare [8]: Undefined variable: undefinedVar în /path/to/file.php la linia 7
Exemplu
Gestionarea numai a anumitor tipuri de erori:
<?php
function warningHandler($errno, $errstr) {
if ($errno === E_WARNING) {
echo "Avertisment capturat: $errstr";
}
}
set_error_handler("warningHandler", E_WARNING);
strpos(); // Va provoca un avertisment
?>
Rezultatul executării codului:
Avertisment capturat: strpos() expects at least 2 parameters, 0 given
Exemplu
Revenirea la handler-ul standard de erori:
<?php
set_error_handler(null); // Revenire la handler-ul standard
?>