3v4l.org

run code in 300+ PHP versions simultaneously
<?php $classes = get_declared_classes(); foreach($classes as $class) { $methods = get_class_methods($class); foreach($methods as $method) { if (in_array($method, array('__construct', '__destruct', '__call', '__callStatic', '__get', '__set', '__isset', '__unset', '__sleep', '__wakeup', '__toString', '__invoke', '__set_state', '__clone'))) { printf("%s::%s\n", $class, $method); } $functions = get_defined_functions(); $functions_list = array(); foreach($functions['user'] as $func) { $f = new ReflectionFunction($func); $args = array(); foreach($f->getParameters() as $param) { $tmparg = ''; if ($param->isPassedByReference()) $tmparg = '&'; if ($param->isOptional()) { $tmparg = '[' . $tmparg . '$' . $param->getName() . ' = ' . $param->getDefaultValue() . ']'; } else { $tmparg.= '&' . $param->getName(); } $args[] = $tmparg; unset($tmparg); } printf("function %s ( %s ){[###]...[###]}\n", $func, implode(', ', $args)); } } }
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 4, Position 2 = 77
Branch analysis from position: 4
2 jumps found. (Code = 78) Position 1 = 5, Position 2 = 77
Branch analysis from position: 5
2 jumps found. (Code = 77) Position 1 = 10, Position 2 = 75
Branch analysis from position: 10
2 jumps found. (Code = 78) Position 1 = 11, Position 2 = 75
Branch analysis from position: 11
2 jumps found. (Code = 43) Position 1 = 13, Position 2 = 18
Branch analysis from position: 13
2 jumps found. (Code = 77) Position 1 = 24, Position 2 = 73
Branch analysis from position: 24
2 jumps found. (Code = 78) Position 1 = 25, Position 2 = 73
Branch analysis from position: 25
2 jumps found. (Code = 77) Position 1 = 33, Position 2 = 62
Branch analysis from position: 33
2 jumps found. (Code = 78) Position 1 = 34, Position 2 = 62
Branch analysis from position: 34
2 jumps found. (Code = 43) Position 1 = 38, Position 2 = 39
Branch analysis from position: 38
2 jumps found. (Code = 43) Position 1 = 42, Position 2 = 54
Branch analysis from position: 42
1 jumps found. (Code = 42) Position 1 = 58
Branch analysis from position: 58
1 jumps found. (Code = 42) Position 1 = 33
Branch analysis from position: 33
Branch analysis from position: 54
1 jumps found. (Code = 42) Position 1 = 33
Branch analysis from position: 33
Branch analysis from position: 39
Branch analysis from position: 62
1 jumps found. (Code = 42) Position 1 = 24
Branch analysis from position: 24
Branch analysis from position: 62
Branch analysis from position: 73
1 jumps found. (Code = 42) Position 1 = 10
Branch analysis from position: 10
Branch analysis from position: 73
Branch analysis from position: 18
Branch analysis from position: 75
1 jumps found. (Code = 42) Position 1 = 4
Branch analysis from position: 4
Branch analysis from position: 75
Branch analysis from position: 77
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 77
filename:       /in/JhgGQ
function name:  (null)
number of ops:  79
compiled vars:  !0 = $classes, !1 = $class, !2 = $methods, !3 = $method, !4 = $functions, !5 = $functions_list, !6 = $func, !7 = $f, !8 = $args, !9 = $param, !10 = $tmparg
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   INIT_FCALL                                               'get_declared_classes'
          1        DO_ICALL                                         $11     
          2        ASSIGN                                                   !0, $11
    3     3      > FE_RESET_R                                       $13     !0, ->77
          4    > > FE_FETCH_R                                               $13, !1, ->77
    4     5    >   INIT_FCALL                                               'get_class_methods'
          6        SEND_VAR                                                 !1
          7        DO_ICALL                                         $14     
          8        ASSIGN                                                   !2, $14
    5     9      > FE_RESET_R                                       $16     !2, ->75
         10    > > FE_FETCH_R                                               $16, !3, ->75
    6    11    >   IN_ARRAY                                                 !3, <array>
         12      > JMPZ                                                     ~17, ->18
    7    13    >   INIT_FCALL                                               'printf'
         14        SEND_VAL                                                 '%25s%3A%3A%25s%0A'
         15        SEND_VAR                                                 !1
         16        SEND_VAR                                                 !3
         17        DO_ICALL                                                 
    9    18    >   INIT_FCALL                                               'get_defined_functions'
         19        DO_ICALL                                         $19     
         20        ASSIGN                                                   !4, $19
   10    21        ASSIGN                                                   !5, <array>
   11    22        FETCH_DIM_R                                      ~22     !4, 'user'
         23      > FE_RESET_R                                       $23     ~22, ->73
         24    > > FE_FETCH_R                                               $23, !6, ->73
   12    25    >   NEW                                              $24     'ReflectionFunction'
         26        SEND_VAR_EX                                              !6
         27        DO_FCALL                                      0          
         28        ASSIGN                                                   !7, $24
   13    29        ASSIGN                                                   !8, <array>
   14    30        INIT_METHOD_CALL                                         !7, 'getParameters'
         31        DO_FCALL                                      0  $28     
         32      > FE_RESET_R                                       $29     $28, ->62
         33    > > FE_FETCH_R                                               $29, !9, ->62
   15    34    >   ASSIGN                                                   !10, ''
   16    35        INIT_METHOD_CALL                                         !9, 'isPassedByReference'
         36        DO_FCALL                                      0  $31     
         37      > JMPZ                                                     $31, ->39
         38    >   ASSIGN                                                   !10, '%26'
   17    39    >   INIT_METHOD_CALL                                         !9, 'isOptional'
         40        DO_FCALL                                      0  $33     
         41      > JMPZ                                                     $33, ->54
   18    42    >   CONCAT                                           ~34     '%5B', !10
         43        CONCAT                                           ~35     ~34, '%24'
         44        INIT_METHOD_CALL                                         !9, 'getName'
         45        DO_FCALL                                      0  $36     
         46        CONCAT                                           ~37     ~35, $36
         47        CONCAT                                           ~38     ~37, '+%3D+'
         48        INIT_METHOD_CALL                                         !9, 'getDefaultValue'
         49        DO_FCALL                                      0  $39     
         50        CONCAT                                           ~40     ~38, $39
         51        CONCAT                                           ~41     ~40, '%5D'
         52        ASSIGN                                                   !10, ~41
         53      > JMP                                                      ->58
   20    54    >   INIT_METHOD_CALL                                         !9, 'getName'
         55        DO_FCALL                                      0  $43     
         56        CONCAT                                           ~44     '%26', $43
         57        ASSIGN_OP                                     8          !10, ~44
   22    58    >   ASSIGN_DIM                                               !8
         59        OP_DATA                                                  !10
   23    60        UNSET_CV                                                 !10
   14    61      > JMP                                                      ->33
         62    >   FE_FREE                                                  $29
   25    63        INIT_FCALL                                               'printf'
         64        SEND_VAL                                                 'function+%25s+%28+%25s+%29%7B%5B%23%23%23%5D...%5B%23%23%23%5D%7D%0A'
         65        SEND_VAR                                                 !6
         66        INIT_FCALL                                               'implode'
         67        SEND_VAL                                                 '%2C+'
         68        SEND_VAR                                                 !8
         69        DO_ICALL                                         $47     
         70        SEND_VAR                                                 $47
         71        DO_ICALL                                                 
   11    72      > JMP                                                      ->24
         73    >   FE_FREE                                                  $23
    5    74      > JMP                                                      ->10
         75    >   FE_FREE                                                  $16
    3    76      > JMP                                                      ->4
         77    >   FE_FREE                                                  $13
   28    78      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
156.57 ms | 1396 KiB | 23 Q