/
vshmidt
/
php
Обзор
Документация
Войти
/
vshmidt
/
php
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
ext/reflection/tests/006.phpt
112 строк
2 KB
Christoph M. Becker
Merge branch 'PHP-7.4'
24 июн 2020, 12:19
24 июн 2020, 12:19
cbce0cb
Код
Авторство
О чём код?
--TEST-- ReflectionClass::[gs]etStaticPropertyValue --FILE-- <?php /* ReflectionClass cannot touch protected or private static properties */ /* ReflectionClass cannot create or delete static properties */ Class 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"; } } } } 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(); ?> --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"