Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Łapacz bugów Czyli Error Handler
Forum PHP.pl > Forum > PHP
Vengeance
Witam. kolejny kodzik do oceny.

WIec zapytuje co jest zle/dobrze/ co zmienic a co calkowicie usunac (tylko nie mowcie ze wszystko bo do przykre jest) hihi smile.gif ok wierze w siebie ;p

link tu: http://vengeance.strefaphp.net/errorhandle...ndler.class.php

i jeszcze takie jedno pytanko. Czy przerobic ten skrypt tak aby mozliwe bylo wywolanie "niezdefiniowanego" w ErrorHandler::Error() błędu ? np. poprzez:

ErrorHandler::showError(new Error('dziwny blad', 'lala', 'costam', 'ana'));

wtedy np. moglbym sobie mieszac dowolnie czy chce potem ten error jeszcze zapisac do pliku i bazy czy tylko wyslac na email. nie trzeba by przewidywac wszystkich możliwości z góry. A jesli takie coś jest przydatne tylko imlementacja zle przemyslana to jak to inaczej zrobic smile.gif
shizo
A mógłbys podac przykład jak wykorzystać tą klasę na swojej stronie? Pobrałem ten skrypt, ale nie wiem jak go wykorzystać :/
Vengeance
na samym dole jest maly przyklad. ale przyjmijmy:

  1. <?php
  2. require 'errorhandler.class.php';
  3. $handler = new ErrorHandler();
  4. set_error_handler(array(&$handler, 'handler'));
  5.  
  6. trigger_error('---start skryptu---', E_USER_NOTICE);
  7. $liczba1 = $_GET['liczba'][0];
  8. $liczba2 = $_GET['liczba'][1];
  9. trigger_error('---liczba1 = '.$liczba1, E_USER_NOTICE);
  10. trigger_error('---liczba1 = '.$liczba2, E_USER_NOTICE);
  11. if($liczba1==0 OR $liczba2==0)
  12. {
  13.  trigger_error('---dzielenie przez zero!', E_USER_ERROR);
  14. }
  15. echo $liczba1 / $liczba2;
  16. trigger_error('---stop skryptu---', E_USER_NOTICE);
  17. ?>


to taki troche glupi przyklad. konkretnie chodzi o pomoc przy debugowaniu aplikacji. Osobiscie nie uzywam ErrorHandlera do wyswietlania komunikatow userowi 'News został dodany', 'Nie podano pola Tytuł' i innych tego typu. Niektórzy właśnie do tego stosują E_USER_NOTICE jeszcze.
bela
ja mam klasa error handler w niej tablice z błedami i metode ktora foreach je wyswietla
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.