xref: /PHP-7.1/tests/classes/singleton_001.phpt (revision 2f51c2ac)
1--TEST--
2ZE2 singleton
3--SKIPIF--
4<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 needed'); ?>
5--FILE--
6<?php
7
8class Counter {
9	private $counter = 0;
10
11	function increment_and_print() {
12		echo ++$this->counter;
13		echo "\n";
14    }
15}
16
17
18class 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
29SingletonCounter::Instance()->increment_and_print();
30SingletonCounter::Instance()->increment_and_print();
31SingletonCounter::Instance()->increment_and_print();
32
33?>
34--EXPECT--
351
362
373
38