php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #78901 wrong output of var_dump() for uninitialized typed properties with xdebug
Submitted: 2019-12-03 13:36 UTC Modified: 2020-01-20 18:17 UTC
Votes:1
Avg. Score:2.0 ± 0.0
Reproduced:0 of 0 (0.0%)
From: public at grik dot net Assigned: derick (profile)
Status: Closed Package: Xdebug
PHP Version: 7.4.0 OS:
Private report: No CVE-ID: None
View Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
If you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
Package:
Bug Type:
Summary:
From: public at grik dot net
New email:
PHP Version: OS:

 

 [2019-12-03 13:36 UTC] public at grik dot net
Description:
------------
var_dump() does not show named properties that were not initialized, 
it just shows that _something_ is there

Test script:
---------------
<?php

class A{
    public string $x;
}

var_dump(property_exists($A,'x'));//true
var_dump($A); //class A#1 (1) {} // - it counts the property, but hides it
var_dump(new stdClass()); //class stdClass#1 (0) {} - empty object

Expected result:
----------------
class A#1 (1) {
  public $x =>
  NULL
}

Actual result:
--------------
class A#1 (1) {
} 

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2019-12-03 14:15 UTC] cmb@php.net
-Summary: wrong output of var_dump() for uninitialized named properties +Summary: wrong output of var_dump() for uninitialized typed properties
 [2019-12-03 14:15 UTC] cmb@php.net
Works as expected on <https://3v4l.org/gvDf5>.
 [2019-12-03 17:28 UTC] requinix@php.net
-Status: Open +Status: Feedback
 [2019-12-03 19:24 UTC] public at grik dot net
-Summary: wrong output of var_dump() for uninitialized typed properties +Summary: wrong output of var_dump() for uninitialized typed properties with xdebug -Status: Feedback +Status: Open -Package: *General Issues +Package: Xdebug
 [2019-12-03 19:24 UTC] public at grik dot net
It is reproduced with xdebug enabled.
 [2019-12-03 19:35 UTC] public at grik dot net
with xdebug disabled it works fine

PS C:\> php -r 'var_dump(new class{public string $x;});'
object(class@anonymous)#1 (0) {
  ["x"]=>
  uninitialized(string)
}

enable xdebug 2.8.1

PS C:\> php -r 'var_dump(new class{public string $x;});' -d "zend_extension=xdebug"
Command line code:1:
class class@anonymous#1 (1) {
}

thanks and sorry for confusion
 [2019-12-03 21:58 UTC] derick@php.net
Please report Xdebug bugs at https://bugs.xdebug.org
 [2020-01-20 17:11 UTC] derick@php.net
-Status: Open +Status: Closed -Assigned To: +Assigned To: derick
 [2020-01-20 17:11 UTC] derick@php.net
This was fixed in Xdebug 2.9.0 -> https://bugs.xdebug.org/view.php?id=1724
 [2020-01-20 18:17 UTC] public at grik dot net
Thank you, Derick!
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Oct 31 23:01:28 2024 UTC