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