singleton_001.phpt 598 B

1234567891011121314151617181920212223242526272829303132333435
  1. --TEST--
  2. ZE2 singleton
  3. --FILE--
  4. <?php
  5. class Counter {
  6. private $counter = 0;
  7. function increment_and_print() {
  8. echo ++$this->counter;
  9. echo "\n";
  10. }
  11. }
  12. class SingletonCounter {
  13. private static $m_instance = NULL;
  14. static function Instance() {
  15. if (self::$m_instance == NULL) {
  16. self::$m_instance = new Counter();
  17. }
  18. return self::$m_instance;
  19. }
  20. }
  21. SingletonCounter::Instance()->increment_and_print();
  22. SingletonCounter::Instance()->increment_and_print();
  23. SingletonCounter::Instance()->increment_and_print();
  24. ?>
  25. --EXPECT--
  26. 1
  27. 2
  28. 3