3v4l.org

run code in 300+ PHP versions simultaneously
<?php error_reporting(E_ALL); echo 'Testing on PHP version ' . PHP_VERSION . PHP_EOL . PHP_EOL; sleep(1); echo 'Checking if `__DIR__` is defined...' . PHP_EOL; if (!defined('__DIR__')) { sleep(2); echo 'Nope, `defined()` returned `(bool)false`.' . PHP_EOL; echo 'So, seems like the magic constant `__DIR__` is not defined.' . PHP_EOL . PHP_EOL; sleep(2); echo 'No prob. Executing `define(\'__DIR__\', \'/foo/bar\')`...' . PHP_EOL; define('__DIR__', '/foo/bar'); sleep(1); echo 'Done, defined `__DIR__` as "/foo/bar".' . PHP_EOL . PHP_EOL; sleep(1); echo 'Double-checking `__DIR__` is defined now...' . PHP_EOL; sleep(2); if (!defined('__DIR__')) { echo 'WTF, `defined(\'__DIR__\')` again returned `(bool)false`?!' . PHP_EOL; } else{ echo 'Strike, this time `defined(\'__DIR__\')` returned `(bool)true`.' . PHP_EOL; echo 'So, seems like `__DIR__` was successfully defined. :)' . PHP_EOL . PHP_EOL; } } else{ echo 'Yep, `defined(\'__DIR__\')` returned `(bool)true`.' . PHP_EOL; echo 'The magic constant `__DIR__` seems to be defined.' . PHP_EOL . PHP_EOL; } sleep(2); echo 'Finally, here is the result of `var_dump(__DIR__)`:' . PHP_EOL; var_dump(__DIR__);
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 11, Position 2 = 43
Branch analysis from position: 11
2 jumps found. (Code = 43) Position 1 = 38, Position 2 = 40
Branch analysis from position: 38
1 jumps found. (Code = 42) Position 1 = 42
Branch analysis from position: 42
1 jumps found. (Code = 42) Position 1 = 45
Branch analysis from position: 45
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 40
1 jumps found. (Code = 42) Position 1 = 45
Branch analysis from position: 45
Branch analysis from position: 43
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/JYlDj
function name:  (null)
number of ops:  53
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   INIT_FCALL                                               'error_reporting'
          1        SEND_VAL                                                 32767
          2        DO_ICALL                                                 
    4     3        ECHO                                                     'Testing+on+PHP+version+8.0.0%0A%0A'
    5     4        INIT_FCALL                                               'sleep'
          5        SEND_VAL                                                 1
          6        DO_ICALL                                                 
    7     7        ECHO                                                     'Checking+if+%60__DIR__%60+is+defined...%0A'
    8     8        DEFINED                                          ~2      '__DIR__'
          9        BOOL_NOT                                         ~3      ~2
         10      > JMPZ                                                     ~3, ->43
    9    11    >   INIT_FCALL                                               'sleep'
         12        SEND_VAL                                                 2
         13        DO_ICALL                                                 
   11    14        ECHO                                                     'Nope%2C+%60defined%28%29%60+returned+%60%28bool%29false%60.%0A'
   12    15        ECHO                                                     'So%2C+seems+like+the+magic+constant+%60__DIR__%60+is+not+defined.%0A%0A'
   13    16        INIT_FCALL                                               'sleep'
         17        SEND_VAL                                                 2
         18        DO_ICALL                                                 
   15    19        ECHO                                                     'No+prob.+Executing+%60define%28%27__DIR__%27%2C+%27%2Ffoo%2Fbar%27%29%60...%0A'
   16    20        INIT_FCALL                                               'define'
         21        SEND_VAL                                                 '__DIR__'
         22        SEND_VAL                                                 '%2Ffoo%2Fbar'
         23        DO_ICALL                                                 
   17    24        INIT_FCALL                                               'sleep'
         25        SEND_VAL                                                 1
         26        DO_ICALL                                                 
   19    27        ECHO                                                     'Done%2C+defined+%60__DIR__%60+as+%22%2Ffoo%2Fbar%22.%0A%0A'
   20    28        INIT_FCALL                                               'sleep'
         29        SEND_VAL                                                 1
         30        DO_ICALL                                                 
   22    31        ECHO                                                     'Double-checking+%60__DIR__%60+is+defined+now...%0A'
   23    32        INIT_FCALL                                               'sleep'
         33        SEND_VAL                                                 2
         34        DO_ICALL                                                 
   25    35        DEFINED                                          ~10     '__DIR__'
         36        BOOL_NOT                                         ~11     ~10
         37      > JMPZ                                                     ~11, ->40
   26    38    >   ECHO                                                     'WTF%2C+%60defined%28%27__DIR__%27%29%60+again+returned+%60%28bool%29false%60%3F%21%0A'
         39      > JMP                                                      ->42
   28    40    >   ECHO                                                     'Strike%2C+this+time+%60defined%28%27__DIR__%27%29%60+returned+%60%28bool%29true%60.%0A'
   29    41        ECHO                                                     'So%2C+seems+like+%60__DIR__%60+was+successfully+defined.+%3A%29%0A%0A'
         42    > > JMP                                                      ->45
   32    43    >   ECHO                                                     'Yep%2C+%60defined%28%27__DIR__%27%29%60+returned+%60%28bool%29true%60.%0A'
   33    44        ECHO                                                     'The+magic+constant+%60__DIR__%60+seems+to+be+defined.%0A%0A'
   35    45    >   INIT_FCALL                                               'sleep'
         46        SEND_VAL                                                 2
         47        DO_ICALL                                                 
   37    48        ECHO                                                     'Finally%2C+here+is+the+result+of+%60var_dump%28__DIR__%29%60%3A%0A'
   38    49        INIT_FCALL                                               'var_dump'
         50        SEND_VAL                                                 '%2Fin'
         51        DO_ICALL                                                 
         52      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
170.41 ms | 1405 KiB | 21 Q