3v4l.org

run code in 300+ PHP versions simultaneously
<?php error_reporting(E_ALL); class asd { function __construct() { echo 'error_reporting on called function: ' . ini_get('error_reporting') . PHP_EOL; } function run() { asd1(); } } function asd1() { asd2(); } function asd2() { asd3(); } function asd3() { echo 'error_reporting on leaf: ' . ini_get('error_reporting') . PHP_EOL; @error_log('I am an error'); } $asd = new asd(); echo 'error_reporting before @: ' . ini_get('error_reporting') . PHP_EOL; @$asd->run();
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/HmkCc
function name:  (null)
number of ops:  17
compiled vars:  !0 = $asd
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   INIT_FCALL                                               'error_reporting'
          1        SEND_VAL                                                 32767
          2        DO_ICALL                                                 
   22     3        NEW                                              $2      'asd'
          4        DO_FCALL                                      0          
          5        ASSIGN                                                   !0, $2
   24     6        INIT_FCALL                                               'ini_get'
          7        SEND_VAL                                                 'error_reporting'
          8        DO_ICALL                                         $5      
          9        CONCAT                                           ~6      'error_reporting+before+%40%3A+', $5
         10        CONCAT                                           ~7      ~6, '%0A'
         11        ECHO                                                     ~7
   25    12        BEGIN_SILENCE                                    ~8      
         13        INIT_METHOD_CALL                                         !0, 'run'
         14        DO_FCALL                                      0          
         15        END_SILENCE                                              ~8
         16      > RETURN                                                   1

Function asd1:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/HmkCc
function name:  asd1
number of ops:  3
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   13     0  E >   INIT_FCALL_BY_NAME                                       'asd2'
          1        DO_FCALL                                      0          
   14     2      > RETURN                                                   null

End of function asd1

Function asd2:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/HmkCc
function name:  asd2
number of ops:  3
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   16     0  E >   INIT_FCALL_BY_NAME                                       'asd3'
          1        DO_FCALL                                      0          
   17     2      > RETURN                                                   null

End of function asd2

Function asd3:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/HmkCc
function name:  asd3
number of ops:  12
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   19     0  E >   INIT_FCALL                                               'ini_get'
          1        SEND_VAL                                                 'error_reporting'
          2        DO_ICALL                                         $0      
          3        CONCAT                                           ~1      'error_reporting+on+leaf%3A+', $0
          4        CONCAT                                           ~2      ~1, '%0A'
          5        ECHO                                                     ~2
   20     6        BEGIN_SILENCE                                    ~3      
          7        INIT_FCALL                                               'error_log'
          8        SEND_VAL                                                 'I+am+an+error'
          9        DO_ICALL                                                 
         10        END_SILENCE                                              ~3
   21    11      > RETURN                                                   null

End of function asd3

Class asd:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/HmkCc
function name:  __construct
number of ops:  7
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    6     0  E >   INIT_FCALL                                               'ini_get'
          1        SEND_VAL                                                 'error_reporting'
          2        DO_ICALL                                         $0      
          3        CONCAT                                           ~1      'error_reporting+on+called+function%3A+', $0
          4        CONCAT                                           ~2      ~1, '%0A'
          5        ECHO                                                     ~2
    7     6      > RETURN                                                   null

End of function __construct

Function run:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/HmkCc
function name:  run
number of ops:  3
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    9     0  E >   INIT_FCALL_BY_NAME                                       'asd1'
          1        DO_FCALL                                      0          
   10     2      > RETURN                                                   null

End of function run

End of class asd.

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
208.6 ms | 1400 KiB | 19 Q