Annotation of embedaddon/php/tests/classes/singleton_001.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: ZE2 singleton
! 3: --SKIPIF--
! 4: <?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 needed'); ?>
! 5: --FILE--
! 6: <?php
! 7:
! 8: class Counter {
! 9: private $counter = 0;
! 10:
! 11: function increment_and_print() {
! 12: echo ++$this->counter;
! 13: echo "\n";
! 14: }
! 15: }
! 16:
! 17:
! 18: class SingletonCounter {
! 19: private static $m_instance = NULL;
! 20:
! 21: static function Instance() {
! 22: if (self::$m_instance == NULL) {
! 23: self::$m_instance = new Counter();
! 24: }
! 25: return self::$m_instance;
! 26: }
! 27: }
! 28:
! 29: SingletonCounter::Instance()->increment_and_print();
! 30: SingletonCounter::Instance()->increment_and_print();
! 31: SingletonCounter::Instance()->increment_and_print();
! 32:
! 33: ?>
! 34: --EXPECT--
! 35: 1
! 36: 2
! 37: 3
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>