/
vshmidt
/
php
Обзор
Документация
Войти
/
vshmidt
/
php
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
ext/reflection/tests/ReflectionProperty_setValue_error.phpt
40 строк
918 B
Nikita Popov
Deprecate implicit dynamic properties
26 ноя 2021, 16:10
26 ноя 2021, 16:10
902d643
Код
Авторство
О чём код?
--TEST-- Test ReflectionProperty::setValue() error cases. --FILE-- <?php class TestClass { public $pub; public $pub2 = 5; static public $stat = "static property"; protected $prot = 4; private $priv = "keepOut"; } #[AllowDynamicProperties] class AnotherClass { } $instance = new TestClass(); $instanceWithNoProperties = new AnotherClass(); $propInfo = new ReflectionProperty('TestClass', 'pub2'); echo "\nProtected property:\n"; $propInfo = new ReflectionProperty('TestClass', 'prot'); $propInfo->setValue($instance, "NewValue"); var_dump($propInfo->getValue($instance)); echo "\n\nInstance without property:\n"; $propInfo = new ReflectionProperty('TestClass', 'pub2'); var_dump($propInfo->setValue($instanceWithNoProperties, "NewValue")); var_dump($instanceWithNoProperties->pub2); ?> --EXPECT-- Protected property: string(8) "NewValue" Instance without property: NULL string(8) "NewValue"