Annotation of embedaddon/php/ext/reflection/tests/006.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: ReflectionClass::[gs]etStaticPropertyValue
! 3: --FILE--
! 4: <?php
! 5:
! 6: /* ReflectionClass cannot touch protected or private static properties */
! 7:
! 8: /* ReflectionClass cannot create or delete static properties */
! 9:
! 10: Class Test
! 11: {
! 12: static public $pub = 'pub';
! 13: static protected $pro = 'pro';
! 14: static private $pri = 'pri';
! 15:
! 16: static function testing()
! 17: {
! 18: $ref = new ReflectionClass('Test');
! 19:
! 20: foreach(array('pub', 'pro', 'pri') as $name)
! 21: {
! 22: try
! 23: {
! 24: var_dump($ref->getStaticPropertyValue($name));
! 25: var_dump($ref->getStaticPropertyValue($name));
! 26: $ref->setStaticPropertyValue($name, 'updated');
! 27: var_dump($ref->getStaticPropertyValue($name));
! 28: }
! 29: catch(Exception $e)
! 30: {
! 31: echo "EXCEPTION\n";
! 32: }
! 33: }
! 34: }
! 35: }
! 36:
! 37: Class TestDerived extends Test
! 38: {
! 39: // static public $pub = 'pub';
! 40: // static protected $pro = 'pro';
! 41: static private $pri = 'pri';
! 42:
! 43: static function testing()
! 44: {
! 45: $ref = new ReflectionClass('Test');
! 46:
! 47: foreach(array('pub', 'pro', 'pri') as $name)
! 48: {
! 49: try
! 50: {
! 51: var_dump($ref->getStaticPropertyValue($name));
! 52: var_dump($ref->getStaticPropertyValue($name));
! 53: $ref->setStaticPropertyValue($name, 'updated');
! 54: var_dump($ref->getStaticPropertyValue($name));
! 55: }
! 56: catch(Exception $e)
! 57: {
! 58: echo "EXCEPTION\n";
! 59: }
! 60: }
! 61: }
! 62: }
! 63:
! 64: $ref = new ReflectionClass('Test');
! 65:
! 66: foreach(array('pub', 'pro', 'pri') as $name)
! 67: {
! 68: try
! 69: {
! 70: var_dump($ref->getStaticPropertyValue($name));
! 71: var_dump($ref->getStaticPropertyValue($name));
! 72: $ref->setStaticPropertyValue($name, 'updated');
! 73: var_dump($ref->getStaticPropertyValue($name));
! 74: }
! 75: catch(Exception $e)
! 76: {
! 77: echo "EXCEPTION\n";
! 78: }
! 79: }
! 80:
! 81: Test::testing();
! 82: TestDerived::testing();
! 83:
! 84: ?>
! 85: ===DONE===
! 86: <?php exit(0); ?>
! 87: --EXPECT--
! 88: string(3) "pub"
! 89: string(3) "pub"
! 90: string(7) "updated"
! 91: EXCEPTION
! 92: EXCEPTION
! 93: string(7) "updated"
! 94: string(7) "updated"
! 95: string(7) "updated"
! 96: EXCEPTION
! 97: EXCEPTION
! 98: string(7) "updated"
! 99: string(7) "updated"
! 100: string(7) "updated"
! 101: EXCEPTION
! 102: EXCEPTION
! 103: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>