Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Obsługa błędów
Narzew
post
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 1
Dołączył: 2.10.2012

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


Witam

Piszę sobie prostą obsługę błędów w PHP i mam pytanie, wykorzystuje sobie przykładowo taki skrypt

  1. <?php
  2.  
  3. class {
  4. public static function errorHandler($errno, $errstr, $errfile, $errline, $errcontext) {
  5. echo $errstr;
  6. }
  7.  
  8. set_error_handler(array('Error', "errorHandler"));
  9.  
  10. echo 1;
  11. trigger_error("Cannot divide by zero", E_USER_ERROR);
  12. echo 2;


Mam pytanie, mianowicie czy da się zrobić taki system obsługi błędów który by najpierw sprawdzał czy są jakieś błędy i je wyświetlał tak że np. nie wyświetlało mi "1" w skrypcie oraz "2". Nie chodzi mi o zrobienie diva który 1,2 zasłoni tylko system który sprawdzi najpierw.

Pozdrawiam i dziękuję za odpowiedzi

Ten post edytował Narzew 6.04.2013, 19:24:42
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




@Crozin z całym szacunkiem, ale nie wyobrażam sobie jak na etapie tworzenia aplikacji nie można wyłapać błędów w widoku.

Cytat
Rozwiązanie jest bardzo proste: skorzystaj z buforowania (ob_start, ob_get_clean i pokrewne).
Dlatego napisałem, by najpierw zapamiętywał widok do zmiennej. Każde lepsze MVC to udostępnie właśnie na zasadzie ob_.....

Wracając do tematu:
twoja funkcja nie może wyglądać tak:
public static function errorHandler($errno, $errstr, $errfile, $errline, $errcontext) {

echo $errstr;

}


Bo nic dziwnego ze ci rozwala wyglad jak wali echo gdzie popadnie. Nie możesz tak robić. Błędy masz zapamiętywać w tablicy, a następnie w widodu masz mieć kawałek kodu, który będzie błędy z tej tablicy wyświetlał tam gdzie Ty chcesz, a nie gdzie popadnie.


@edit: @Crozin oczywiście masz rację. Za bardzo skupiłem się na pewnych błędach, zapominając o innych, które zawsze mogą wystąpić (IMG:style_emoticons/default/smile.gif)
Tak czy siak, system błędów autora należy poprawić conajmniej do wersji, którą proponuję, gdyż w przeciwnym wypadku żadne ob_ nie pomogą, skoro błędy i tak będą lecieć na ekran gdzie popadnie.
Powód edycji: [nospor]:
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: 9.10.2025 - 11:43