Je eigen error maken

De errors die PHP geeft, kunnen handig zijn tijdens de ontwikkeling van een script; als je site voor groot publiek te zien is, is het niet erg vriendelijk. Meestal zullen je bezoekers metteen je site verlaten als ze zo'n error zien. Daarom is het handig om zelf een error-functie te maken. Zo'n functie heeft de volgende opbouw:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
error_function (error_level, error_message, error_file, error_line, error_context)

error_level = de numerieke waarde van het soort error (zie 'Error namen', eerder deze tut).
error_message = het bericht dat wordt weergeven.
error_file = niet verplicht, het bestand waarin de error was.
error_line = niet verplicht, de regel waarin de error was.
error_context = niet verplicht, een array met de variabelen en waardes die gebruikt werden tijdens de error.

Zo'n error-functie zou er bijvoorbeeld zo uit kunnen zien:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
// een error-functie maken
function error_function($err_nr, $err_msg, $err_file, $err_line) {
    // Weergeef de file en regel als de gebruiker de webmaster is
    if ($_SESSION['gebruiker'] == "webmaster") {
        echo "<p class='error'>Error: file ".$err_file.", line ".$err_line."</p>\n";
    }

    // include een andere pagina bij E_ERROR of E_USER_ERROR
    // gebruik de numerieke waarden voor de error

    if ($err_nr == E_ERROR OR $err_nr == E_USER_ERROR) {
        include "includes/error.php";
    }

    else { // een andere error
        echo "<p class='error'>Er is een fout opgetreden op onze site: ".$err_msg.".<br />\n";
        echo "Sorry voor het ongemak.</p>\n";
    }
}

?>


Nu moet je alleen nog tegen php zeggen dat deze functie gebruikt moet worden als er een error komt. Dat doe je met de functie set_error_handler(). Bij ons vorige voorbeeld zou dat er dus zo uit komen te zien:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
set_error_handler("error_function");
?>


Ik hoop dat jullie wat aan deze tutorial hebben gehad, tips zijn altijd welkom ;)

« Lees de omschrijving en reacties

Inhoudsopgave

  1. Inleiding
  2. Error namen
  3. Errors laten zien
  4. Je eigen error maken

PHP tutorial opties

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.