3v4l.org

run code in 300+ PHP versions simultaneously
<?php class A { private $a_private = 1; protected $a_protected = 2; public $a_public = 3; } class C extends A { private $c_private = 1; protected $c_protected = 2; public $c_public = 3; } class B extends A { private $b_private = 1; protected $b_protected = 2; public $b_public = 3; protected $sub; function __construct(){ $this->sub = new C(); } function __debugInfo(){ return ['foo'=>'bar']; } } function object_dump($object){ return (array)$object; } var_dump(object_dump(new B));
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/S3IPb
function name:  (null)
number of ops:  9
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   38     0  E >   INIT_FCALL                                               'var_dump'
          1        INIT_FCALL                                               'object_dump'
          2        NEW                                              $0      'B'
          3        DO_FCALL                                      0          
          4        SEND_VAR                                                 $0
          5        DO_FCALL                                      0  $2      
          6        SEND_VAR                                                 $2
          7        DO_ICALL                                                 
          8      > RETURN                                                   1

Function object_dump:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/S3IPb
function name:  object_dump
number of ops:  4
compiled vars:  !0 = $object
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   34     0  E >   RECV                                             !0      
   35     1        CAST                                          7  ~1      !0
          2      > RETURN                                                   ~1
   36     3*     > RETURN                                                   null

End of function object_dump

Class A: [no user functions]
Class C: [no user functions]
Class B:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/S3IPb
function name:  __construct
number of ops:  5
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   26     0  E >   NEW                                              $1      'C'
          1        DO_FCALL                                      0          
          2        ASSIGN_OBJ                                               'sub'
          3        OP_DATA                                                  $1
   27     4      > RETURN                                                   null

End of function __construct

Function __debuginfo:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/S3IPb
function name:  __debugInfo
number of ops:  2
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   30     0  E > > RETURN                                                   <array>
   31     1*     > RETURN                                                   null

End of function __debuginfo

End of class B.

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
159.55 ms | 1403 KiB | 16 Q