Annotation of embedaddon/php/Zend/tests/lsb_001.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: ZE2 Late Static Binding in a static function
3: --FILE--
4: <?php
5:
6: class TestClass {
7: protected static $staticVar = 'TestClassStatic';
8: const CLASS_CONST = 'TestClassConst';
9:
10: protected static function staticFunction() {
11: return 'TestClassFunction';
12: }
13:
14: public static function testStaticVar() {
15: return static::$staticVar;
16: }
17:
18: public static function testClassConst() {
19: return static::CLASS_CONST;
20: }
21:
22: public static function testStaticFunction() {
23: return static::staticFunction();
24: }
25: }
26:
27: class ChildClass1 extends TestClass {
28: protected static $staticVar = 'ChildClassStatic';
29: const CLASS_CONST = 'ChildClassConst';
30:
31: protected static function staticFunction() {
32: return 'ChildClassFunction';
33: }
34: }
35:
36: class ChildClass2 extends TestClass {}
37:
38: echo TestClass::testStaticVar() . "\n";
39: echo TestClass::testClassConst() . "\n";
40: echo TestClass::testStaticFunction() . "\n";
41:
42: echo ChildClass1::testStaticVar() . "\n";
43: echo ChildClass1::testClassConst() . "\n";
44: echo ChildClass1::testStaticFunction() . "\n";
45:
46: echo ChildClass2::testStaticVar() . "\n";
47: echo ChildClass2::testClassConst() . "\n";
48: echo ChildClass2::testStaticFunction() . "\n";
49: ?>
50: ==DONE==
51: --EXPECTF--
52: TestClassStatic
53: TestClassConst
54: TestClassFunction
55: ChildClassStatic
56: ChildClassConst
57: ChildClassFunction
58: TestClassStatic
59: TestClassConst
60: TestClassFunction
61: ==DONE==
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>