Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Statyczne zmienne w klasie w stecz, Poprzedni obiekt widzi "nową zmienną"
JohnySpot
post
Post #1





Grupa: Zarejestrowani
Postów: 106
Pomógł: 0
Dołączył: 9.09.2003
Skąd: Włocławek

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


Chciałem dziś zrobić licznik obiektów pewnej klasy.
Zrobiłem wię klasę:
  1. <?php
  2. class test {
  3.  private $licznik;
  4.  
  5.  function __construct() {
  6.  $this->licznik++;
  7. echo 'Wywołano konstruktor. $licznik = '.$this->licznik;
  8.  }
  9.  
  10.  function __clone() {
  11. self::__construct();
  12.  }
  13.  
  14.  function show() {
  15. echo $licznik;
  16.  }
  17. }
  18.  
  19. $pierwsza = new test();
  20. $druga = clone $pierwsza;
  21. $pierwsza->show();
  22. ?>


Efekt był taki że pierwszy obiekt nadal widział jeden obiekt, drugi dwa. Rozumiem, że są to dwa odrębne obiekty i że podczas tworzenia drugiego z nich istniejąca wartość static ($licznik) została użyta do inicjalizacji zmiennej $licznik w obiekcie $drugi jednak czy dałoby się zrobić jakiś licznik "globalny", który działałby "wstecz" ?


--------------------
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 13:48