diff options
author | Jay Smith <jay@php.net> | 2003-03-03 16:44:38 +0000 |
---|---|---|
committer | Jay Smith <jay@php.net> | 2003-03-03 16:44:38 +0000 |
commit | 243dd060d116609f763a78e533f399fd7dd30f37 (patch) | |
tree | 65d1cfb443aa455d4a5b9a6b9b34f0d7da9fbb33 /tests/classes/singleton_001.phpt | |
parent | cc52373c1002b9e99d590c7bba89ceadb15cc32c (diff) | |
download | php-git-243dd060d116609f763a78e533f399fd7dd30f37.tar.gz |
Added some tests for ZE2 features and their functionality.
Diffstat (limited to 'tests/classes/singleton_001.phpt')
-rw-r--r-- | tests/classes/singleton_001.phpt | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/classes/singleton_001.phpt b/tests/classes/singleton_001.phpt new file mode 100644 index 0000000000..ee729b980c --- /dev/null +++ b/tests/classes/singleton_001.phpt @@ -0,0 +1,37 @@ +--TEST-- +ZE2 singleton +--SKIPIF-- +<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 needed'); ?> +--FILE-- +<?php + +class Counter { + private $counter = 0; + + function increment_and_print() { + echo ++$this->counter; + echo "\n"; + } +} + + +class SingletonCounter { + private static $m_instance = NULL; + + static function Instance() { + if (self::$m_instance == NULL) { + self::$m_instance = new Counter(); + } + return self::$m_instance; + } +} + +SingletonCounter::Instance()->increment_and_print(); +SingletonCounter::Instance()->increment_and_print(); +SingletonCounter::Instance()->increment_and_print(); + +?> +--EXPECT-- +1 +2 +3 |