Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: jpgrah-nie wyswietla wykresu gdy kod wyodrebiony do metody w klasie
Forum PHP.pl > Forum > PHP
misty
Czesc!

Mam problem ktorego na prawde nie rozumiem i nie wiem jak dojsc do tego co jest nie tak. Wyswietlam sobie w skrypcie prosty CanvasGraph gdzie w sumie wyswietlam jakis tam tekst. Kod wyglada tak:

  1. /** If no data, show info. */
  2. if (count($recvdarr) == 0) {
  3. $txt = "no data ";
  4. $t = new Text($txt, 15, 3);
  5.  
  6. $graph = new CanvasGraph(400, 40, 'auto');
  7. $graph->SetMarginColor("white");
  8. $graph->InitFrame();
  9.  
  10. $t->Stroke($graph->img);
  11.  
  12. if ($_GET["image"] == "direct") {
  13. $graph->Stroke();
  14. } else {
  15. $graph->StrokeCSIMImage();
  16. }
  17. return;
  18. }


Kod dziala tak ze jak sa dane to generuje BarPlot, a jak nie to wywoluje sie wlasnie ten fragment. Wszystko jest ok, ale chcialam sobie napisac metode w odpowiedniej klasie bo ten kod sie powiela w paru miejscach. No jak przeniose to wszystko do metody (w ktorej oczywiscie wpierw wyszukuje i przypisuje wartosci do $recvdarr) - w skrypcie zas wywoluje te metode to lipa! nic sie nie pojawia i nawet zaden error sie nie pojawia! Nie wiem totalnie czemu tak? Oczywiscie w tej klasie mam odpowiednie rzeczy zaimportowane - zreszta jakbym nie miala to bym chyba dostala jakis error.
Czy ktos z Was wie dlaczego tak sie dzieje? ten sam kod w skrypcie - i wszystko sie generuje. A jak tylko przeniose te logike do metody w klasie, i w skrypcie wywolam to nie pojawia sie nic..

bede wdzieczna za wszystkie wskazowki!

pzdr,
misty
erix
Nadal wróżenie z fusów. Pokaż kod po modyfikacjach.
misty
modyfikacja jest taka ze jest stworzona klasa z metoda:

  1.  
  2. public function generateImage(){
  3. /** If no data, show info. */
  4. if (count($recvdarr) == 0)
  5. $txt = "no data ";
  6. $t = new Text($txt, 15, 3);
  7.  
  8. $graph = new CanvasGraph(400, 40, 'auto');
  9. $graph->SetMarginColor("white");
  10. $graph->InitFrame();
  11.  
  12. $t->Stroke($graph->img);
  13.  
  14. if ($_GET["image"] == "direct") {
  15. $graph->Stroke();
  16. } else {
  17. $graph->StrokeCSIMImage();
  18. }
  19. return;
  20. }else{
  21. //TODO
  22. }
  23.  


zas w skrypcie gdzie wczesniej mialam ten kod to teraz mam stworzony obiekt i odwolanie do tej metody:
  1.  
  2. $graphHelper = new GraphHelper();
  3.  
  4. $graphHelper->generateImage();



czyli jak widzisz to na prawde jest wrozenie z fusow..
erix
Cóż, puść to debuggerem step-by-step, wtedy będzie wiadomo, na czym się wysypuje.
Uriziel01
Ogólnie sprawdziłeś choć czy cała metoda się wykonuje ? Czy obiekty są poprawnie inicjowane ? Ale ostatecznie i tak tak jak mówi @Erix będzie najlepiej, przeleć debugiem po tym i powiedz gdzie się zatrzymuje. Raportowanie błędów aby na pewno włączone ?
misty
Czesc,
tak, metoda sie wykonuje, przed jej zakonczeniem jak np robie var_dump($graph) to widze ze jest tam obiekt taki jaki powinien byc do wygenerowania obrazka. Co do debug'a to jak mam to debugowac? sa jakies (darmowe) wtyczki do eclipse? Moze mozecie mi cos polecic?

pzdr,
misty
erix
XDebug
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.