3v4l.org

run code in 300+ PHP versions simultaneously
<?php class A { public string $default = 'default'; } class B { public function __construct(public string $default = 'default') {} } $a = new A(); echo "Original A: {$a->default}\n"; $b = new B(); echo "Original B: {$b->default}\n"; $a = (new ReflectionClass($a))->newInstanceWithoutConstructor(); echo "New A: {$a->default}\n"; $b = (new ReflectionClass($b))->newInstanceWithoutConstructor(); echo "New B: {$b->default}\n";
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/DU0tG
function name:  (null)
number of ops:  39
compiled vars:  !0 = $a, !1 = $b
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   11     0  E >   NEW                                              $2      'A'
          1        DO_FCALL                                      0          
          2        ASSIGN                                                   !0, $2
   12     3        ROPE_INIT                                     3  ~7      'Original+A%3A+'
          4        FETCH_OBJ_R                                      ~5      !0, 'default'
          5        ROPE_ADD                                      1  ~7      ~7, ~5
          6        ROPE_END                                      2  ~6      ~7, '%0A'
          7        ECHO                                                     ~6
   13     8        NEW                                              $9      'B'
          9        DO_FCALL                                      0          
         10        ASSIGN                                                   !1, $9
   14    11        ROPE_INIT                                     3  ~14     'Original+B%3A+'
         12        FETCH_OBJ_R                                      ~12     !1, 'default'
         13        ROPE_ADD                                      1  ~14     ~14, ~12
         14        ROPE_END                                      2  ~13     ~14, '%0A'
         15        ECHO                                                     ~13
   16    16        NEW                                              $16     'ReflectionClass'
         17        SEND_VAR_EX                                              !0
         18        DO_FCALL                                      0          
         19        INIT_METHOD_CALL                                         $16, 'newInstanceWithoutConstructor'
         20        DO_FCALL                                      0  $18     
         21        ASSIGN                                                   !0, $18
   17    22        ROPE_INIT                                     3  ~22     'New+A%3A+'
         23        FETCH_OBJ_R                                      ~20     !0, 'default'
         24        ROPE_ADD                                      1  ~22     ~22, ~20
         25        ROPE_END                                      2  ~21     ~22, '%0A'
         26        ECHO                                                     ~21
   18    27        NEW                                              $24     'ReflectionClass'
         28        SEND_VAR_EX                                              !1
         29        DO_FCALL                                      0          
         30        INIT_METHOD_CALL                                         $24, 'newInstanceWithoutConstructor'
         31        DO_FCALL                                      0  $26     
         32        ASSIGN                                                   !1, $26
   19    33        ROPE_INIT                                     3  ~30     'New+B%3A+'
         34        FETCH_OBJ_R                                      ~28     !1, 'default'
         35        ROPE_ADD                                      1  ~30     ~30, ~28
         36        ROPE_END                                      2  ~29     ~30, '%0A'
         37        ECHO                                                     ~29
         38      > RETURN                                                   1

Class A: [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/DU0tG
function name:  __construct
number of ops:  4
compiled vars:  !0 = $default
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    8     0  E >   RECV_INIT                                        !0      'default'
          1        ASSIGN_OBJ                                               'default'
          2        OP_DATA                                                  !0
          3      > RETURN                                                   null

End of function __construct

End of class B.

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
140.29 ms | 1000 KiB | 13 Q