1--TEST--
2Reflection and inheriting static properties
3--FILE--
4<?php
5
6class base {
7	static protected $prop = 2;
8
9	static function show() {
10		echo __METHOD__ . '(' . self::$prop . ")\n";
11	}
12
13	static function inc() {
14		base::$prop++;
15		echo __METHOD__ . "()\n";
16	}
17}
18
19class derived extends base {
20	static public $prop = 2;
21
22	static function show() {
23		echo __METHOD__ . '(' . self::$prop . ")\n";
24	}
25
26	static function inc() {
27		derived::$prop++;
28		echo __METHOD__ . "()\n";
29	}
30}
31
32base::show();
33derived::show();
34
35base::inc();
36
37base::show();
38derived::show();
39
40derived::inc();
41
42base::show();
43derived::show();
44
45$r = new ReflectionClass('derived');
46echo 'Number of properties: '. count($r->getStaticProperties()) . "\n";
47
48echo "Done\n";
49?>
50--EXPECTF--
51base::show(2)
52derived::show(2)
53base::inc()
54base::show(3)
55derived::show(2)
56derived::inc()
57base::show(3)
58derived::show(3)
59Number of properties: 1
60Done
61