3v4l.org

run code in 300+ PHP versions simultaneously
<?php function __( $string ) { return $string; } class AtomParser { var $FILE = "php://input"; var $debug = false; public function parse() { $fp = fopen($this->FILE, "r"); while ($data = fread($fp, 4096)) { if($this->debug) $this->content .= $data; if(!xml_parse($parser, $data, feof($fp))) { /* translators: 1: Error message, 2: Line number. */ trigger_error(sprintf(__('XML Error: %1$s at line %2$s')."\n", xml_error_string(xml_get_error_code($parser)), xml_get_current_line_number($parser))); $ret = false; break; } } fclose($fp); } } $atom_parser = new AtomParser(); $atom_parser->FILE = "/usr/local/something.txt"; $atom_parser->parse();
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/HhApV
function name:  (null)
number of ops:  8
compiled vars:  !0 = $atom_parser
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   29     0  E >   NEW                                              $1      'AtomParser'
          1        DO_FCALL                                      0          
          2        ASSIGN                                                   !0, $1
   31     3        ASSIGN_OBJ                                               !0, 'FILE'
          4        OP_DATA                                                  '%2Fusr%2Flocal%2Fsomething.txt'
   32     5        INIT_METHOD_CALL                                         !0, 'parse'
          6        DO_FCALL                                      0          
          7      > RETURN                                                   1

Function __:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/HhApV
function name:  __
number of ops:  3
compiled vars:  !0 = $string
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   RECV                                             !0      
    4     1      > RETURN                                                   !0
    5     2*     > RETURN                                                   null

End of function __

Class AtomParser:
Function parse:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 44
Branch analysis from position: 44
2 jumps found. (Code = 44) Position 1 = 50, Position 2 = 7
Branch analysis from position: 50
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 7
2 jumps found. (Code = 43) Position 1 = 9, Position 2 = 11
Branch analysis from position: 9
2 jumps found. (Code = 43) Position 1 = 21, Position 2 = 44
Branch analysis from position: 21
1 jumps found. (Code = 42) Position 1 = 50
Branch analysis from position: 50
Branch analysis from position: 44
Branch analysis from position: 11
filename:       /in/HhApV
function name:  parse
number of ops:  54
compiled vars:  !0 = $fp, !1 = $data, !2 = $parser, !3 = $ret
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   12     0  E >   INIT_FCALL                                               'fopen'
          1        FETCH_OBJ_R                                      ~4      'FILE'
          2        SEND_VAL                                                 ~4
          3        SEND_VAL                                                 'r'
          4        DO_ICALL                                         $5      
          5        ASSIGN                                                   !0, $5
   13     6      > JMP                                                      ->44
   14     7    >   FETCH_OBJ_R                                      ~7      'debug'
          8      > JMPZ                                                     ~7, ->11
          9    >   ASSIGN_OBJ_OP                                 8          'content'
         10        OP_DATA                                                  !1
   16    11    >   INIT_FCALL                                               'xml_parse'
         12        SEND_VAR                                                 !2
         13        SEND_VAR                                                 !1
         14        INIT_FCALL                                               'feof'
         15        SEND_VAR                                                 !0
         16        DO_ICALL                                         $9      
         17        SEND_VAR                                                 $9
         18        DO_ICALL                                         $10     
         19        BOOL_NOT                                         ~11     $10
         20      > JMPZ                                                     ~11, ->44
   18    21    >   INIT_FCALL                                               'trigger_error'
         22        INIT_FCALL                                               'sprintf'
         23        INIT_FCALL                                               '__'
         24        SEND_VAL                                                 'XML+Error%3A+%251%24s+at+line+%252%24s'
         25        DO_FCALL                                      0  $12     
         26        CONCAT                                           ~13     $12, '%0A'
         27        SEND_VAL                                                 ~13
   19    28        INIT_FCALL                                               'xml_error_string'
         29        INIT_FCALL                                               'xml_get_error_code'
         30        SEND_VAR                                                 !2
         31        DO_ICALL                                         $14     
         32        SEND_VAR                                                 $14
         33        DO_ICALL                                         $15     
         34        SEND_VAR                                                 $15
   20    35        INIT_FCALL                                               'xml_get_current_line_number'
         36        SEND_VAR                                                 !2
         37        DO_ICALL                                         $16     
         38        SEND_VAR                                                 $16
   18    39        DO_ICALL                                         $17     
   20    40        SEND_VAR                                                 $17
   18    41        DO_ICALL                                                 
   21    42        ASSIGN                                                   !3, <false>
   22    43      > JMP                                                      ->50
   13    44    >   INIT_FCALL                                               'fread'
         45        SEND_VAR                                                 !0
         46        SEND_VAL                                                 4096
         47        DO_ICALL                                         $20     
         48        ASSIGN                                           ~21     !1, $20
         49      > JMPNZ                                                    ~21, ->7
   25    50    >   INIT_FCALL                                               'fclose'
         51        SEND_VAR                                                 !0
         52        DO_ICALL                                                 
   26    53      > RETURN                                                   null

End of function parse

End of class AtomParser.

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
676.73 ms | 1031 KiB | 24 Q