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/property_exists.phpt |
--TEST-- Reflection and property_exists() --FILE-- <?php class A { public $a = 1; protected $b = 2; private $c = 3; public $empty; public $init = 1; function __toString() { return 'obj(' . get_class($this) . ')'; } static function test($oc, $props) { echo '===' . __CLASS__ . "===\n"; foreach($props as $p2) { echo $oc, '::$' , $p2, "\n"; var_dump(property_exists($oc, $p2)); } } } class B extends A { private $c = 4; static function test($oc, $props) { echo '===' . __CLASS__ . "===\n"; foreach($props as $p2) { echo $oc, '::$' , $p2, "\n"; var_dump(property_exists($oc, $p2)); } } } class C extends B { private $d = 5; static function test($oc, $props) { echo '===' . __CLASS__ . "===\n"; foreach($props as $p2) { echo $oc, '::$' , $p2, "\n"; var_dump(property_exists($oc, $p2)); } } } $oA = new A; $oA->e = 6; $oC = new C; $pc = array($oA, 'A', 'B', 'C', $oC); $pr = array('a', 'b', 'c', 'd', 'e'); foreach($pc as $p1) { if (is_object($p1)) { $p1->test($p1, $pr); } else { $r = new ReflectionMethod($p1, 'test'); $r->invoke(NULL, $p1, $pr); } echo "===GLOBAL===\n"; foreach($pr as $p2) { echo $p1, '::$' , $p2, "\n"; var_dump(property_exists($p1, $p2)); } } echo "===PROBLEMS===\n"; var_dump(property_exists(NULL, 'empty')); var_dump(property_exists(25,'empty')); var_dump(property_exists('','')); var_dump(property_exists('A','')); var_dump(property_exists('A','123')); var_dump(property_exists('A','init')); var_dump(property_exists('A','empty')); var_dump(property_exists(new A, '')); var_dump(property_exists(new A, '123')); var_dump(property_exists(new A, 'init')); var_dump(property_exists(new A, 'empty')); ?> ===DONE=== <?php exit(0); ?> --EXPECTF-- ===A=== obj(A)::$a bool(true) obj(A)::$b bool(true) obj(A)::$c bool(true) obj(A)::$d bool(false) obj(A)::$e bool(true) ===GLOBAL=== obj(A)::$a bool(true) obj(A)::$b bool(true) obj(A)::$c bool(true) obj(A)::$d bool(false) obj(A)::$e bool(true) ===A=== A::$a bool(true) A::$b bool(true) A::$c bool(true) A::$d bool(false) A::$e bool(false) ===GLOBAL=== A::$a bool(true) A::$b bool(true) A::$c bool(true) A::$d bool(false) A::$e bool(false) ===B=== B::$a bool(true) B::$b bool(true) B::$c bool(true) B::$d bool(false) B::$e bool(false) ===GLOBAL=== B::$a bool(true) B::$b bool(true) B::$c bool(true) B::$d bool(false) B::$e bool(false) ===C=== C::$a bool(true) C::$b bool(true) C::$c bool(false) C::$d bool(true) C::$e bool(false) ===GLOBAL=== C::$a bool(true) C::$b bool(true) C::$c bool(false) C::$d bool(true) C::$e bool(false) ===C=== obj(C)::$a bool(true) obj(C)::$b bool(true) obj(C)::$c bool(false) obj(C)::$d bool(true) obj(C)::$e bool(false) ===GLOBAL=== obj(C)::$a bool(true) obj(C)::$b bool(true) obj(C)::$c bool(false) obj(C)::$d bool(true) obj(C)::$e bool(false) ===PROBLEMS=== Warning: First parameter must either be an object or the name of an existing class in %sproperty_exists.php on line %d NULL Warning: First parameter must either be an object or the name of an existing class in %sproperty_exists.php on line %d NULL bool(false) bool(false) bool(false) bool(true) bool(true) bool(false) bool(false) bool(true) bool(true) ===DONE===
Cokiee Shell Web 1.0, Coded By Razor
Neueste Kommentare