Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zliczanie wystąpienia obiektu
Forum PHP.pl > Forum > PHP > Object-oriented programming
sokot
Witam jakiej zmiennej użyć w klasie aby zliczyła ona wystąpienie obiektu tzn chodzi mi o typ.
Próbwałem coś takiego:

  1. class obiekt {
  2.  
  3. private static $n = 1;
  4. private $id;
  5.  
  6.  
  7. public function __construct(){
  8.  
  9. $this->id = $this->n;
  10. $this->n++;
  11.  
  12. echo 'Tworzymy `obiekt`<br/>';
  13. } // end __construct();
  14.  
  15.  
  16.  
  17. public function __toString() {
  18. return 'Obiekt: ' . $this->id . '<br/>';
  19. }
  20. }


ale static mi sięwywala,
Podobny kod działał w javie.

Kiedyś przed php 5.2 wystarczyło napisać podobno:
  1. $obiekt1 = new obiekt();
  2. $obiekt2 = new obiekt();
  3. echo $obiekt1
  4. echo $obiekt2

i program wywalał
Obiekt id #1
Obiekt id #2
teraz trzeba korzystać z __toString
ale nie wiem jak to ogarnąć.

Pozdrawiam
seth-kk
bo zle sie odwolujesz do zmiennej statycznej http://pl2.php.net/manual/en/language.oop5.static.php
-=Peter=-
  1. class obiekt {
  2.  
  3. private static $n = 1;
  4. private $id;
  5.  
  6.  
  7. public function __construct(){
  8.  
  9. $this->id = self::$n;
  10. self::$n++;
  11.  
  12. echo 'Tworzymy `obiekt`<br/>';
  13. } // end __construct();
  14.  
  15.  
  16.  
  17. public function __toString() {
  18. return 'Obiekt: ' . $this->id . '<br/>';
  19. }
  20. }


$n to składowa statyczna, a w php inaczej się odwołuje do składowych statycznych i niestatycznych.

Edit: ...
sokot
Ok dzięki za szybką pomoc biggrin.gif
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.