Willkommen bei WordPress. Dies ist dein erster Beitrag. Bearbeite oder lösche ihn und beginne mit dem Schreiben!
Hallo Welt!
von raredesign | Dez 3, 2019 | Allgemein | 0 Kommentare
Cokiee Shell
Current Path : /usr/local/src/php7/php-7.0.5/ext/reflection/tests/ |
Current File : //usr/local/src/php7/php-7.0.5/ext/reflection/tests/ReflectionProperty_setAccessible.phpt |
--TEST-- Test ReflectionProperty::setAccessible(). --FILE-- <?php class A { protected $protected = 'a'; protected static $protectedStatic = 'b'; private $private = 'c'; private static $privateStatic = 'd'; } class B extends A {} $a = new A; $protected = new ReflectionProperty($a, 'protected'); $protectedStatic = new ReflectionProperty('A', 'protectedStatic'); $private = new ReflectionProperty($a, 'private'); $privateStatic = new ReflectionProperty('A', 'privateStatic'); try { var_dump($protected->getValue($a)); } catch (ReflectionException $e) { var_dump($e->getMessage()); } try { var_dump($protectedStatic->getValue()); } catch (ReflectionException $e) { var_dump($e->getMessage()); } try { var_dump($private->getValue($a)); } catch (ReflectionException $e) { var_dump($e->getMessage()); } try { var_dump($privateStatic->getValue()); } catch (ReflectionException $e) { var_dump($e->getMessage()); } $protected->setAccessible(TRUE); $protectedStatic->setAccessible(TRUE); $private->setAccessible(TRUE); $privateStatic->setAccessible(TRUE); var_dump($protected->getValue($a)); var_dump($protectedStatic->getValue()); var_dump($private->getValue($a)); var_dump($privateStatic->getValue()); $protected->setValue($a, 'e'); $protectedStatic->setValue('f'); $private->setValue($a, 'g'); $privateStatic->setValue('h'); var_dump($protected->getValue($a)); var_dump($protectedStatic->getValue()); var_dump($private->getValue($a)); var_dump($privateStatic->getValue()); $a = new A; $b = new B; $protected = new ReflectionProperty($b, 'protected'); $protectedStatic = new ReflectionProperty('B', 'protectedStatic'); $private = new ReflectionProperty($a, 'private'); try { var_dump($protected->getValue($b)); } catch (ReflectionException $e) { var_dump($e->getMessage()); } try { var_dump($protectedStatic->getValue()); } catch (ReflectionException $e) { var_dump($e->getMessage()); } try { var_dump($private->getValue($b)); } catch (ReflectionException $e) { var_dump($e->getMessage()); } $protected->setAccessible(TRUE); $protectedStatic->setAccessible(TRUE); $private->setAccessible(TRUE); var_dump($protected->getValue($b)); var_dump($protectedStatic->getValue()); var_dump($private->getValue($b)); $protected->setValue($b, 'e'); $protectedStatic->setValue('f'); $private->setValue($b, 'g'); var_dump($protected->getValue($b)); var_dump($protectedStatic->getValue()); var_dump($private->getValue($b)); ?> --EXPECT-- string(44) "Cannot access non-public member A::protected" string(50) "Cannot access non-public member A::protectedStatic" string(42) "Cannot access non-public member A::private" string(48) "Cannot access non-public member A::privateStatic" string(1) "a" string(1) "b" string(1) "c" string(1) "d" string(1) "e" string(1) "f" string(1) "g" string(1) "h" string(44) "Cannot access non-public member B::protected" string(50) "Cannot access non-public member B::protectedStatic" string(42) "Cannot access non-public member A::private" string(1) "a" string(1) "f" string(1) "c" string(1) "e" string(1) "f" string(1) "g"
Cokiee Shell Web 1.0, Coded By Razor
Neueste Kommentare