|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2019-07-22 15:07 UTC] nikic@php.net
[2019-07-22 15:24 UTC] nicolas dot grekas+php at gmail dot com
[2019-07-23 08:27 UTC] nicolas dot grekas+php at gmail dot com
[2019-07-23 10:47 UTC] nikic@php.net
[2019-07-24 08:53 UTC] nikic@php.net
-Status: Open
+Status: Closed
-Assigned To:
+Assigned To: nikic
[2019-07-24 08:53 UTC] nikic@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Oct 25 01:00:01 2025 UTC |
Description: ------------ get_class_vars()/ReflectionClass::getDefaultProperties() don't show typed properties. I get they aren't yet initialized, but we could report them as "null" to no break scripts that look only for their names. Test script: --------------- class Php74 { public $p1 = 123; public \stdClass $p2; public function __construct() { $this->p2 = new \stdClass(); } } print_r(get_class_vars('Php74')); $r = new \ReflectionClass('Php74'); print_r($r->getDefaultProperties()); print_r($r->getProperties()); Expected result: ---------------- Array ( [p1] => 123 [p2] => ) Array ( [p1] => 123 [p2] => ) Array ( [0] => ReflectionProperty Object ( [name] => p1 [class] => Php74 ) [1] => ReflectionProperty Object ( [name] => p2 [class] => Php74 ) ) Actual result: -------------- Array ( [p1] => 123 ) Array ( [p1] => 123 ) Array ( [0] => ReflectionProperty Object ( [name] => p1 [class] => Php74 ) [1] => ReflectionProperty Object ( [name] => p2 [class] => Php74 ) )