Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Statyczna właściwość
ayeo
post
Post #1





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

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


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.


--------------------
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


W PHP static oznacza ze jest to zmienna KLASY.
Po prostu uzyj zwyklej zmiennej instancji.

A w c++, ... nie pamietam.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
ayeo
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

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


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


Ten post edytował ayeo 14.04.2008, 12:21:01


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

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 - 21:55