Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Statyczna właściwość
Forum PHP.pl > Forum > Przedszkole
ayeo
Witam!
Zacznę od tego, że jest to pytanie czysto hipotetyczne i ewentualne bluzgi nt bezsensu takiej konstrukcji można zachować dla siebie. No chyba, że ktoś już naprawdę nie może wytrzymać to proszę bardzo biggrin.gif
Chodzi mi o coś takiego:
  1. <?php 
  2. class A 
  3. {  
  4. static $counter; 
  5. } 
  6.  
  7. $a = new A; 
  8. $a->counter = 15; 
  9.  
  10. $b = new A; 
  11. echo $b->counter; //chciałbym, żeby zwracało 15 biggrin.gif 
  12. ?>


W sensie wartość statycznej zmiennej zostaje zachowana we wszystkich instancjach danej klasy. Taka konstrukcja jest chyba możliwa w C++ jednak w PHP nie działa.
dr_bonzo
W PHP static oznacza ze jest to zmienna KLASY.
Po prostu uzyj zwyklej zmiennej instancji.

A w c++, ... nie pamietam.
ayeo
no tak. Po prostu muszę się odwoływać

A::$counter;

zamiast

$a->counter;

Bo tak ogólnie mówiąc to chodziło mi o licznik instancji danej klasy. Jednak i tak muszę zrobić to jako osobną klasę.
  1. <?php
  2. class InstanceCounter
  3. {
  4. static $stock = array();
  5.  
  6. static function add($class_name)
  7. {
  8. self::$stock[$class_name]++;
  9. }
  10.  
  11. static function delete($class_name)
  12. {
  13. self::$stock[$class_name]--;
  14. }
  15.  
  16. static function getInstanceNo($class_name)
  17. {
  18. return self::$stock[$class_name];
  19. }
  20. }
  21. ?>
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.