3v4l.org

run code in 300+ PHP versions simultaneously
<?php declare(strict_types = 1); namespace Constant; use function PHPStan\Testing\assertType; define('FOO', 'foo'); const BAR = 'bar'; class Baz { const BAZ = 'baz'; } enum Suit { case Hearts; } var_dump(FOO); var_dump(constant('FOO')); // var_dump(constant('\Constant\FOO')); // fatal error var_dump(BAR); // var_dump(constant('BAR')); // fatal error var_dump(constant('\Constant\BAR')); var_dump(constant('\Constant\Baz::BAZ')); var_dump(Suit::Hearts); var_dump(constant('\Constant\Suit::Hearts')); var_dump(constant('UNDEFINED')); // fatal error
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/66no7
function name:  (null)
number of ops:  49
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    7     0  E >   INIT_NS_FCALL_BY_NAME                                    'Constant%5Cdefine'
          1        SEND_VAL_EX                                              'FOO'
          2        SEND_VAL_EX                                              'foo'
          3        DO_FCALL                                      0          
    8     4        DECLARE_CONST                                            'Constant%5CBAR', 'bar'
   15     5        DECLARE_CLASS                                            'constant%5Csuit'
   20     6        INIT_NS_FCALL_BY_NAME                                    'Constant%5Cvar_dump'
          7        FETCH_CONSTANT                                   ~1      'Constant%5CFOO'
          8        SEND_VAL_EX                                              ~1
          9        DO_FCALL                                      0          
   21    10        INIT_NS_FCALL_BY_NAME                                    'Constant%5Cvar_dump'
         11        INIT_NS_FCALL_BY_NAME                                    'Constant%5Cconstant'
         12        SEND_VAL_EX                                              'FOO'
         13        DO_FCALL                                      0  $3      
         14        SEND_VAR_NO_REF_EX                                       $3
         15        DO_FCALL                                      0          
   24    16        INIT_NS_FCALL_BY_NAME                                    'Constant%5Cvar_dump'
         17        FETCH_CONSTANT                                   ~5      'Constant%5CBAR'
         18        SEND_VAL_EX                                              ~5
         19        DO_FCALL                                      0          
   26    20        INIT_NS_FCALL_BY_NAME                                    'Constant%5Cvar_dump'
         21        INIT_NS_FCALL_BY_NAME                                    'Constant%5Cconstant'
         22        SEND_VAL_EX                                              '%5CConstant%5CBAR'
         23        DO_FCALL                                      0  $7      
         24        SEND_VAR_NO_REF_EX                                       $7
         25        DO_FCALL                                      0          
   28    26        INIT_NS_FCALL_BY_NAME                                    'Constant%5Cvar_dump'
         27        INIT_NS_FCALL_BY_NAME                                    'Constant%5Cconstant'
         28        SEND_VAL_EX                                              '%5CConstant%5CBaz%3A%3ABAZ'
         29        DO_FCALL                                      0  $9      
         30        SEND_VAR_NO_REF_EX                                       $9
         31        DO_FCALL                                      0          
   30    32        INIT_NS_FCALL_BY_NAME                                    'Constant%5Cvar_dump'
         33        FETCH_CLASS_CONSTANT                             ~11     'Constant%5CSuit', 'Hearts'
         34        SEND_VAL_EX                                              ~11
         35        DO_FCALL                                      0          
   31    36        INIT_NS_FCALL_BY_NAME                                    'Constant%5Cvar_dump'
         37        INIT_NS_FCALL_BY_NAME                                    'Constant%5Cconstant'
         38        SEND_VAL_EX                                              '%5CConstant%5CSuit%3A%3AHearts'
         39        DO_FCALL                                      0  $13     
         40        SEND_VAR_NO_REF_EX                                       $13
         41        DO_FCALL                                      0          
   33    42        INIT_NS_FCALL_BY_NAME                                    'Constant%5Cvar_dump'
         43        INIT_NS_FCALL_BY_NAME                                    'Constant%5Cconstant'
         44        SEND_VAL_EX                                              'UNDEFINED'
         45        DO_FCALL                                      0  $15     
         46        SEND_VAR_NO_REF_EX                                       $15
         47        DO_FCALL                                      0          
         48      > RETURN                                                   1

Class Constant\Baz: [no user functions]
Class Constant\Suit: [no user functions]

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
152.75 ms | 1017 KiB | 16 Q