phpStorm/Xdebug can't show show child arrays of objects

http://bugs.xdebug.org/view.php?id=686

It's all about how such classes (SplObjectStorage, ArrayObject and alike) are implemented internally:

this is because objects of the class SplObjectStorage are not user land PHP objects but special super duper internal ones. A similar situation will happen with many other internal PHP classes.

AFAIK nothing can be done on PhpStorm's side until xdebug will be able to "support" them.


UPDATE: The aforementioned xdebug ticket was resolved for xdebug 2.3.3 quite some time ago (latest stable xdebug version is 2.4.1) and it should be possible to view such classes in debugger.


  • Upgrade your xdebug to version 2.3.3, it has fixed the problem http://bugs.xdebug.org/view.php?id=686#c3116
  • If you are running vagrant make sure that you upgrade xdebug in
    vagrant virtual machine.
  • Upgrade instructions can be obtained form http://xdebug.org/wizard.php

    If upgrading is not an option, you can dump the contents as a last
    resort.

    In evaluate expression you can try something like

    file_put_contents('dump.txt', var_export($requiredVariable,true));