Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php5] Co wrzucić do klasy obsługi błędów?
Joachim Peters
post
Post #1





Grupa: Zarejestrowani
Postów: 196
Pomógł: 2
Dołączył: 1.03.2006

Ostrzeżenie: (0%)
-----


Witam,

Napisałem sobie mini klasę do obsługi błędów, jednak nie wiem co do niej mogę jeszcze wrzucić. Myślałem, o zapisywaniu logów, ale czy warto?

  1. <?php
  2. class Error {
  3.  private $errors = array();
  4.  
  5. public function add($type = null, $text = null) {
  6. if(empty($text)) {
  7. switch($type) {
  8. case 'select':
  9. $this->errors[] = 'Wystąpił błąd podczas pobierania danych z bazy!<br />';
  10. break;
  11. case 'insert':
  12. $this->errors[] = 'Wystąpił błąd podczas wysyłania danych do bazy!<br />';
  13. break;
  14. case 'update':
  15. $this->errors[] = 'Wystąpił błąd podczas aktualizowania danych w bazie!<br />';
  16. break;
  17. case 'delete':
  18. $this->errors[] = 'Wystąpił błąd podczas usuwania danych w bazie!<br />';
  19. break;
  20. default:
  21. $this->errors[] = false;
  22. } 
  23. } else {
  24. $this->errors[] = $text . '<br />';
  25. }
  26. }
  27.  
  28. private function display() {
  29. // echo $this->errors;
  30. }
  31. }
  32. ?>

Co jeszcze można do niej dodać?

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
sobieh
post
Post #2





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 28.10.2004

Ostrzeżenie: (0%)
-----


wszystko fajnie ... ładne klasy
tylko ze chyba żaden z was nie bierze pod uwagę faktu
iż te klasy zżerają 3 razy więcej pamięci przy uruchomieniu
niż ten prosty "brzydki" switch. Klasy są dobre ale nie wszędzie.

Żeby wyświetlić błąd php będzie alokował pamięć aby stworzyć
nową instancję klasy i jej dziedziczne co w przypadku switcha
nie ma miejca. Po co pożerać pamięć na bzdurne plątanie się
w 50 klasach skoro można to zrobić na Switchu który zadziała
3x szybciej i zabierze 3x mniej zasobów.

Radze postudiować źródła php i zobaczyć jak działają klasy (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Czytelne ... może i tak ale po kompilacji przez silnik PHP ( w odróżnieniu od C ) wyglądają
jak mocno wymieszany i zaschnięty makaron.

Klasy należy stosować ale bez przesady.
Może każcie autorowi jeszcze zamieścić każdą klasę w osobnym pliku. ( bo tak jest bardziej obiektowo )
no i może jeszcze w osobnym katalogu dla podkreślenia obiektowości naszego ErrorLogera.

@Sedziwoj
A od kiedy to PHP ma nie być wydajne ?
Czy jest jakaś zasada ala "Używam klas w PHP więc mój kod może się uruchamiać 3 dni" ?
Jeśli tak to sorry ale nie słyszałem o niej.

Tak samo w C jak i PHP należy brać po uwagę nie tylko Czytelność kodu (co w przypadku
klas w PHP staje się coraz mniej prawdą) ale i jego Wydajność i Wielkość ponieważ
to ma największy wpływ na szybkość działania skryptu i pożeranie przez niego zasobów serwera.
Przy mikro skryptach to nie ma większego znaczenia ale jak wszyscy nagle zaczęli by używać
tylko i wyłącznie samych klas ... rozdzielając je na setki plików i dziedzicznych to
hostingi musiały by zainwestować w nowy sprzęt. Klasy są dobre tam gdzie kod MA BYĆ
wyraźny i czytelny a tam gdzie nie musi nie powinno się ich stosować.
Poza tym wszystkim nie porównujmy pseudo klas z PHP do klas z C bo nie mają one ze sobą za wiele wspólnego
zaczynając choćby od tego że php nie odróżnia bajtu od słowa uznając wszystko za Z_VAL (VARIANT).

Co do czytelności:
Powiedz mi jeszcze że ten kod bez switcha jest dla ciebie bardziej czytelny to już będzie zupełnie klawo (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował sobieh 12.06.2007, 01:08:37
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 27.12.2025 - 19:31