--TEST-- ReflectionClass::[gs]etStaticPropertyValue --FILE-- getStaticPropertyValue($name)); var_dump($ref->getStaticPropertyValue($name)); $ref->setStaticPropertyValue($name, 'updated'); var_dump($ref->getStaticPropertyValue($name)); } catch(Exception $e) { echo "EXCEPTION\n"; } } } } Class TestDerived extends Test { // static public $pub = 'pub'; // static protected $pro = 'pro'; static private $pri = 'pri'; static function testing() { $ref = new ReflectionClass('Test'); foreach(array('pub', 'pro', 'pri') as $name) { try { var_dump($ref->getStaticPropertyValue($name)); var_dump($ref->getStaticPropertyValue($name)); $ref->setStaticPropertyValue($name, 'updated'); var_dump($ref->getStaticPropertyValue($name)); } catch(Exception $e) { echo "EXCEPTION\n"; } } } } $ref = new ReflectionClass('Test'); foreach(array('pub', 'pro', 'pri') as $name) { try { var_dump($ref->getStaticPropertyValue($name)); var_dump($ref->getStaticPropertyValue($name)); $ref->setStaticPropertyValue($name, 'updated'); var_dump($ref->getStaticPropertyValue($name)); } catch(Exception $e) { echo "EXCEPTION\n"; } } Test::testing(); TestDerived::testing(); ?> ===DONE=== --EXPECT-- string(3) "pub" string(3) "pub" string(7) "updated" string(3) "pro" string(3) "pro" string(7) "updated" string(3) "pri" string(3) "pri" string(7) "updated" string(7) "updated" string(7) "updated" string(7) "updated" string(7) "updated" string(7) "updated" string(7) "updated" string(7) "updated" string(7) "updated" string(7) "updated" string(7) "updated" string(7) "updated" string(7) "updated" string(7) "updated" string(7) "updated" string(7) "updated" string(7) "updated" string(7) "updated" string(7) "updated" ===DONE===