3v4l.org

run code in 300+ PHP versions simultaneously
<?php class OutputFilter { protected $matchPattern; protected $replacement; }; class LogFileFormat { protected $filters; protected $endl; }; class LogWriter_File { protected $filename; protected $format; }; class Logger { protected $logwriter; }; class Song { protected $logger; protected $name; protected $group; protected $url; function __construct($name, $group, $url) { $this->name = $name; $this->group = $group; $this->url = $url; $fltr = new OutputFilter("(.*)/e", "echo wowoowowowoowow"); $this->logger = new Logger(new LogWriter_File("song_views", new LogFileFormat(array($fltr), "\n"))); $find = $this->logger->logwriter->format->filter->matchPattern; $repl = $this->logger->logwriter->format->filter->replacement; echo $find; echo $repl; } }; class Lyrics { protected $lyrics; protected $song; function __construct($lyrics, $song) { $this->song = $song; $this->lyrics = $lyrics; } }; $kek = new Song("haha", "groupman", "manyhttp"); echo serialize($kek);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/1QuTm
function name:  (null)
number of ops:  11
compiled vars:  !0 = $kek
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   48     0  E >   NEW                                              $1      'Song'
          1        SEND_VAL_EX                                              'haha'
          2        SEND_VAL_EX                                              'groupman'
          3        SEND_VAL_EX                                              'manyhttp'
          4        DO_FCALL                                      0          
          5        ASSIGN                                                   !0, $1
   49     6        INIT_FCALL                                               'serialize'
          7        SEND_VAR                                                 !0
          8        DO_ICALL                                         $4      
          9        ECHO                                                     $4
         10      > RETURN                                                   1

Class OutputFilter: [no user functions]
Class LogFileFormat: [no user functions]
Class LogWriter_File: [no user functions]
Class Logger: [no user functions]
Class Song:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/1QuTm
function name:  __construct
number of ops:  43
compiled vars:  !0 = $name, !1 = $group, !2 = $url, !3 = $fltr, !4 = $find, !5 = $repl
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   27     0  E >   RECV                                             !0      
          1        RECV                                             !1      
          2        RECV                                             !2      
   28     3        ASSIGN_OBJ                                               'name'
          4        OP_DATA                                                  !0
          5        ASSIGN_OBJ                                               'group'
          6        OP_DATA                                                  !1
   29     7        ASSIGN_OBJ                                               'url'
          8        OP_DATA                                                  !2
   30     9        NEW                                              $9      'OutputFilter'
         10        SEND_VAL_EX                                              '%28.%2A%29%2Fe'
         11        SEND_VAL_EX                                              'echo+wowoowowowoowow'
         12        DO_FCALL                                      0          
         13        ASSIGN                                                   !3, $9
   31    14        NEW                                              $13     'Logger'
         15        NEW                                              $14     'LogWriter_File'
         16        SEND_VAL_EX                                              'song_views'
         17        NEW                                              $15     'LogFileFormat'
         18        INIT_ARRAY                                       ~16     !3
         19        SEND_VAL_EX                                              ~16
         20        SEND_VAL_EX                                              '%0A'
         21        DO_FCALL                                      0          
         22        SEND_VAR_NO_REF_EX                                       $15
         23        DO_FCALL                                      0          
         24        SEND_VAR_NO_REF_EX                                       $14
         25        DO_FCALL                                      0          
         26        ASSIGN_OBJ                                               'logger'
         27        OP_DATA                                                  $13
   32    28        FETCH_OBJ_R                                      ~20     'logger'
         29        FETCH_OBJ_R                                      ~21     ~20, 'logwriter'
         30        FETCH_OBJ_R                                      ~22     ~21, 'format'
         31        FETCH_OBJ_R                                      ~23     ~22, 'filter'
         32        FETCH_OBJ_R                                      ~24     ~23, 'matchPattern'
         33        ASSIGN                                                   !4, ~24
   33    34        FETCH_OBJ_R                                      ~26     'logger'
         35        FETCH_OBJ_R                                      ~27     ~26, 'logwriter'
         36        FETCH_OBJ_R                                      ~28     ~27, 'format'
         37        FETCH_OBJ_R                                      ~29     ~28, 'filter'
         38        FETCH_OBJ_R                                      ~30     ~29, 'replacement'
         39        ASSIGN                                                   !5, ~30
   34    40        ECHO                                                     !4
   35    41        ECHO                                                     !5
   36    42      > RETURN                                                   null

End of function __construct

End of class Song.

Class Lyrics:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/1QuTm
function name:  __construct
number of ops:  7
compiled vars:  !0 = $lyrics, !1 = $song
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   42     0  E >   RECV                                             !0      
          1        RECV                                             !1      
   43     2        ASSIGN_OBJ                                               'song'
          3        OP_DATA                                                  !1
   44     4        ASSIGN_OBJ                                               'lyrics'
          5        OP_DATA                                                  !0
   45     6      > RETURN                                                   null

End of function __construct

End of class Lyrics.

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
147.01 ms | 1400 KiB | 15 Q