Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Raportowanie błędów, Wewnatrz metod, nic nie raportuje...
hwao
post
Post #1


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




Witam.

Podczas kodowania natknołem się na bardzo dziwny problem, mianowicie:
  1. <?php
  2. // Start aplikacji
  3. echo $xyz; // raportuje ze zmiennej nie ma
  4.  
  5. // W paru piewszych klasach, co dziwne wyswietla bledy, ale po dojsciu do pewnej k
    lasy, poprostu przestaja wyb wyswietlane, ale tak.. :|
  6.  
  7. class Zyx {
  8. public function foo() { echo 'foo' }
  9. public function bar() { echo $zyx; }
  10. public function newClass() {
  11.  $jakasKlasaCoIstnieje = new Cos();
  12.  $jakasKlasaCoIstnieje->nieIstniejacaMetoda(); // brak errora... i wlasnie mam die(); kodu.. bez zadnego info
  13. }
  14.  
  15. $object = new Zyx();
  16. echo $zyx2; // wyswietla error ze nie ma zmiennej
  17. $object->foo(); // dziala
  18. $object->bar(); // nie wyswietla errora, chociaz zmienna nie jest zdefiniowana
  19. $object->costam(); // nie wyswietla errora ze zemienna jest nie zdefiniowana - to tez jakos dziwnie sie zachowuje...
  20.  
  21. // koniec kodu
  22. echo $zyx3; // wyswietla ze zmiennej nie ma
  23. ?>

Jak dlamnie to nie pojete, i zaczyna mnie irytowac gdyz jak zle sobie napisze nazwe metowy to mam zgon kodu i za cholere nie moge zlokalizowac gdzie.

Ktos ma jakiess sugestie?

php: 5.0.4
Apache: 1.3

Co do raportowania error'ów to juz rozne probowałem..
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
crash
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


  1. <?php
  2. error_reporting( E_ALL );
  3. echo $xyz;
  4.  
  5. class Zyx {
  6.   public function foo() { echo 'foo'; }
  7.   public function bar() { echo $zyx; }
  8.   public function newClass() {
  9.      $jakasKlasaCoIstnieje = new Cos();
  10.      $jakasKlasaCoIstnieje->nieIstniejacaMetoda();
  11.    }
  12. }
  13.  
  14. $object = new Zyx();
  15. echo $zyx2;
  16. $object->foo();
  17.  
  18. // $object->newClass(); // - dopiero takie coś wyświetli błędy z Zyx::newClass()...
  19.  
  20. $object->bar();
  21. $object->costam();
  22.  
  23. echo $zyx3; // tego błędu nie widać, bo wyżej wystąpił błąd krytyczny...
  24. ?>

Wyjście:
Kod
Notice:  Undefined variable: xyz in D:\WEB\Apache2\www\crash.lan\test.php on line 3
Notice:  Undefined variable: zyx2 in D:\WEB\Apache2\www\crash.lan\test.php on line 15

foo

Notice:  Undefined variable: zyx in D:\WEB\Apache2\www\crash.lan\test.php on line 7
Fatal error:  Call to undefined method Zyx::costam() in D:\WEB\Apache2\www\crash.lan\test.php on line 21

Z tego co widzę wszystko działa jak należy...
Go to the top of the page
+Quote Post
chmolu
post
Post #3





Grupa: Zarejestrowani
Postów: 179
Pomógł: 0
Dołączył: 8.10.2004

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


a włączyłeś opcję display_errors?
Go to the top of the page
+Quote Post

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: 23.08.2025 - 16:16