Annotation of embedaddon/php/ext/reflection/tests/006.phpt, revision 1.1.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>