Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wiadomości kontrolne
Forum PHP.pl > Forum > PHP > Object-oriented programming
bambero
Witam

Własnie projektuję taki prosty silniczek do budowy aplikacji i zadumałem się nad obsługą wiadomości kontrolnych.

Błędów niższego poziomu (łączenie z bazą, zapytania itp) są obsługiwane poprzez trigger_error. Jednak jak wiadomo istnieją jeszcze wiadomości kontrolne typu "artykuł dodany" "nie mozna dodac artykułu" wyswietlane uzytkownikom.

Pomyslałem sobie więc o klasie Collection (jako ze komunikatów moze byc wiecej niz jeden) jednak ciezko bedzie przekazać obiekt do systemu szablonów. Ponizej taki probny kod:

  1. <?php
  2.  
  3. class messages extends root {
  4.  
  5. private $_errors = array();
  6.  
  7. public function newMessage($message, $level) {
  8.  
  9. array_push($this->_errors, array($message, $level));
  10. }
  11.  
  12. public function lastMessage() {
  13.  
  14.  
  15. }
  16.  
  17. public function length() {
  18.  
  19.  
  20. }
  21. }
  22.  
  23. ?>


Pozdrawiam
Bambero

---

aleksander
Denver
No, świetnie, ale... gdzie w twojej wiadomości jest jakiekolwiek pytanie?
bambero
Chciałem po prostu aby ktoś to skomentował bo nie wygląda mi to na najlepsze rozwiązanie byłbym rad gdyby ktos przekazał jakieś sugestie. Moze ktoś zrobił to inaczej, Zastanawiałem się na przykład czy nie zrobić tego statycznie (wszystkich metod).

Może troche zle sformuowałem posta.
matid
Moim zdaniem należy rozdzielić błędy od informacji dla użytkownika. Pierwsze najlepiej obsługiwać w postaci wyjątków, natomiast informacje takie jak artykuł dodany, itd. można obsłużyć statycznym Loggerem lub ew. związać je z konkretnymi widokami.
Bora
Można przechwytywac wyjątki np:
throw new ApplicationException(lvl, desc);
i potem w zależności od poziomu wypluwać na konsole (można dodać todatkowy widok jeszcze).
Ociu
zapakuj w __set(); sprawdzanie czy bład jest fatal czy np. notice. Jeśli fatal to wyświetlaj przez wyjątek lub trigger_error, a jeśli zwykły błąd daj do debuggera.
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.