File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / tests / classes / singleton_001.phpt
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 23:48:06 2012 UTC (12 years, 5 months ago) by misho
Branches: php, MAIN
CVS tags: v5_4_3elwix, v5_4_29p0, v5_4_29, v5_4_20p0, v5_4_20, v5_4_17p0, v5_4_17, v5_3_10, HEAD
php

    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>