![]() |
![]() |
![]()
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ę:
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" ? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 106 Pomógł: 0 Dołączył: 9.09.2003 Skąd: Włocławek Ostrzeżenie: (0%) ![]() ![]() |
Ojej. Tam w kodzie jest błąd, bo tam jest static. Już tak zrobiłem. Tylko, że static nie działa "wstecz". Zadziała dla nowego obiektu, ale nie zmieni stanu licznika poprzedniego. Wiem, że można próbować odwoływać się do zmiennej globalnej, ale to znowu powoduje krytyczny wzrost sprzężeń w kodzie. Chciałoby sie zrobić zmienną referencyjną, ale php Ci na to nie pozwala, a przekazywanie referencji do konstruktora też lipa, bo clone nie może wywołać konstruktora z referencją.
Ten post edytował JohnySpot 23.06.2006, 18:50:46 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 06:06 |