Witam,

Chciałbym napisać system, który wyłapywał by wszystkie występujące błędy, zapisywał je (typ, komunikat, linię, ...), w przypadku zatrzymania wykonywania skryptów wyświetlał je we własny sposób (inny niż defaultowe błędy w PHP) i na koniec tworzył log.

W tym celu myślałem o stworzeniu głównej klasy "ERROR" i dwóch podklas - "PARSE" (tworzenie komunikatów i wyświetlanie błędów) i "LOG" (tworzenie logu).

Mój pomysł był taki:

  1. Główna klasa "ERROR" zawierała by tablicę informacji o błędzie, funkcję init() ze switchem decydującą na podstawie typu błędu, którą metodę w klasie "PARSE" wywołać, oraz funkcję save() zapisującą informację o błędzie.
  2. Klasa "PARSE" zawierała by metody dla każdego błędu, tworzące oddzielne komunikaty i wykonujące podrzędne czynności, a także metodę execute(), wyświetlającą błąd (na register_shutdown_function()).
  3. Klasa "LOG" zawierała by metodę write(), zapisującą logi błędów po wykonaniu wszystkich skryptów.

Macie może jakiś lepszy sposób wykonania takiego systemu? Wg. mnie polimorfizm w tym przypadku jest bez sensu, bo główna klasa nie narzuca żadnych metod i cały czas jest w niej "switch"...Ale nie potrafię inaczej tego skomponować. Myślałem o traktowaniu głównej klasy jako tablicy z informacjami o błędach...Ale tutaj też brak pomysłów co z resztą.