3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Foobar { public static function foo() { var_dump(debug_backtrace()); } } $instance = new Foobar; $className = 'Foobar'; echo "\n", 'Foobar::foo();', "\n"; Foobar::foo(); echo "\n", '$instance->foo();', "\n"; $instance->foo(); //echo "\n", '$instance::foo();', "\n"; //$instance::foo(); echo "\n", '$className::foo();', "\n"; $className::foo();
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/3bTYW
function name:  (null)
number of ops:  21
compiled vars:  !0 = $instance, !1 = $className
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   10     0  E >   NEW                                              $2      'Foobar'
          1        DO_FCALL                                      0          
          2        ASSIGN                                                   !0, $2
   11     3        ASSIGN                                                   !1, 'Foobar'
   13     4        ECHO                                                     '%0A'
          5        ECHO                                                     'Foobar%3A%3Afoo%28%29%3B'
          6        ECHO                                                     '%0A'
   14     7        INIT_STATIC_METHOD_CALL                                  'Foobar', 'foo'
          8        DO_FCALL                                      0          
   16     9        ECHO                                                     '%0A'
         10        ECHO                                                     '%24instance-%3Efoo%28%29%3B'
         11        ECHO                                                     '%0A'
   17    12        INIT_METHOD_CALL                                         !0, 'foo'
         13        DO_FCALL                                      0          
   22    14        ECHO                                                     '%0A'
         15        ECHO                                                     '%24className%3A%3Afoo%28%29%3B'
         16        ECHO                                                     '%0A'
   23    17        FETCH_CLASS                                   0  $8      !1
         18        INIT_STATIC_METHOD_CALL                                  $8, 'foo'
         19        DO_FCALL                                      0          
         20      > RETURN                                                   1

Class Foobar:
Function foo:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/3bTYW
function name:  foo
number of ops:  6
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    7     0  E >   INIT_FCALL                                               'var_dump'
          1        INIT_FCALL                                               'debug_backtrace'
          2        DO_ICALL                                         $0      
          3        SEND_VAR                                                 $0
          4        DO_ICALL                                                 
    8     5      > RETURN                                                   null

End of function foo

End of class Foobar.

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
157.47 ms | 1396 KiB | 17 Q