Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Wyswietlanie na ekranie wyniku funkcji
Forum PHP.pl > Forum > Przedszkole
Wolfie
Witam,

Mam maly problem z wyswietleniem wyniku dzialania skryptu na ekranie. To moje pierwsze kroki w programowaniu obiketowym, przedstawie 3 krotkie pliki :

Pierwszy z nich to klasa bazowa :

  1. <?php
  2.  
  3.    class Rectangle {
  4.        public $height;
  5.        public $width;
  6.        
  7.        public function __construct($height, $width) {
  8.            $this->height = $height;
  9.            $this->width = $width;
  10.        }
  11.        
  12.        public function getArea() {
  13.            return $this->height * this->width;
  14.        }
  15.    }
  16. ?>


Nastepnie klasa potomka :

  1. <?php
  2.  
  3.    require_once('class.Rectangle.php');
  4.    
  5.    class Square extends Rectangle {
  6.        public function __construct($size) {
  7.            $this->height = $size;
  8.            $this->width = $size;
  9.        }
  10.        
  11.        public function getArea() {
  12.            return pow($this->height, 2);
  13.        }
  14.    }
  15. ?>


No i na koncu test dzialania plikow , wywolanie obiektow i sprawdzenie metod :

  1. <?php
  2.  
  3.    require_once('class.Square.php');
  4.    
  5.    $objSquare = new Square(2);
  6.    $objRectangle = new Rectangle(3,4);
  7.    
  8.    $objSquare->getArea();
  9.    $objRectangle->getArea();
  10. ?>


Problem polega na tym ze nie wiem jak wyswietlic wynika dzialania metody getArea() na ekranie, probowalem tak :

  1. <?php
  2. echo $objSquare->getArea();
  3. ?>


Lub tez tak

  1. <?php
  2. public function getArea() {
  3.              echo pow($this->height, 2);
  4.          }
  5. ?>


Ale ani jeden ani drugi sposob nie zdal egzaminu, wyswietla sie tylko pusty ekran......
wookieb
Nic ci się nie wyświetla bo masz parse error i wyłączone raportowanie błędów. Włącz raportowanie.
Blad w ten linii
  1. <?php
  2. return $this->height * this->width;
  3. ?>

brakuje ci $ przed this
Wolfie
a jak włączyc to raportowanie ? jak ostatnio wpisalem na poczatku skryptu error_raporting(E_ALL) to i tak dupa blada byla....

No i czy mam uzywac echo gdziekolwiek czy jest to zbednie i wystarczy return ?
wookieb
na serwerze lokalnym musisz zmodyfikowac php.ini i zrestartować serwer.
Jest również możliwosc takowej zmiany poprzez .htaccess (http://www.google.pl/search?hl=pl&q=htaccess+set+php+ini&btnG=Szukaj+w+Google&lr=&aq=f&oq=)
Wolfie
No i czy mam uzywac echo gdziekolwiek czy jest to zbednie i wystarczy return ?

Bo poprawilem błąd i znowu pusty ekran.....
wookieb
No musisz używac echo. Widziales zeby wszystkiego funkcje wyswietlały wszystko co zwracaja?
Pomyśl trochę..
Wolfie
Dobra to jeszcze jedna sprawa, oto czesc mojego pliku php.ini

Cytat
;error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR
;
; - Show all errors, except coding standards warnings
;
error_reporting = E_ALL


Wiec wynika z tego ze raportowanie jest włączone bo nie ma zakomentowaniej linii, wiec co jest nie tak ?

---------------------------------------------------------

Dobra znalazlem

Powinno jeszcze byc

Cytat
error_display = On


Pozdro
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.