3v4l.org

run code in 300+ PHP versions simultaneously
<?php // 为避免污染全局命名空间,已对所有标识符加 `e` 前缀 /** * 运行模式 * * debug 调试模式, 会开启详细的日志记录和错误提示 * * default 默认模式, 会输出错误提示 * * production 生产模式, 不会执行任何额外操作, 最高效地执行代码 */ const eDebug = 2; const eDefault = 1; const eProduction = 0; const eRunMode = eDefault; // 默认关掉所有错误提示 error_reporting(0); // 如果是默认模式,打开致命错误和解析错误的报告 if(eRunMode >= eDefault) error_reporting(E_ERROR | E_PARSE); // 如果是调试模式,打开全部错误提示,并启用修改建议提示 if(eRunMode >= eDebug) error_reporting(E_ALL | E_STRICT); class ePHPException extends Exception { protected $severity; protected $varList; public function __construct($message = "", $code = 0, $severity = 1, $filename = __FILE__, $lineno = __LINE__, Exception $previous = null, $varList = []) { $this->severity = $severity; $this->file = $filename; $this->line = $lineno; $this->varList = $varList; parent::__construct($message, $code, $previous); } public function getSeverity() { return $this->severity; } public function getVarList() { return $this->varList; } }
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 11, Position 2 = 14
Branch analysis from position: 11
2 jumps found. (Code = 43) Position 1 = 18, Position 2 = 21
Branch analysis from position: 18
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 21
Branch analysis from position: 14
filename:       /in/tEIWW
function name:  (null)
number of ops:  22
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   12     0  E >   DECLARE_CONST                                            'eDebug', 2
   13     1        DECLARE_CONST                                            'eDefault', 1
   14     2        DECLARE_CONST                                            'eProduction', 0
   16     3        DECLARE_CONST                                            'eRunMode', <const ast>
   19     4        INIT_FCALL                                               'error_reporting'
          5        SEND_VAL                                                 0
          6        DO_ICALL                                                 
   21     7        FETCH_CONSTANT                                   ~1      'eRunMode'
          8        FETCH_CONSTANT                                   ~2      'eDefault'
          9        IS_SMALLER_OR_EQUAL                                      ~2, ~1
         10      > JMPZ                                                     ~3, ->14
   22    11    >   INIT_FCALL                                               'error_reporting'
         12        SEND_VAL                                                 5
         13        DO_ICALL                                                 
   24    14    >   FETCH_CONSTANT                                   ~5      'eRunMode'
         15        FETCH_CONSTANT                                   ~6      'eDebug'
         16        IS_SMALLER_OR_EQUAL                                      ~6, ~5
         17      > JMPZ                                                     ~7, ->21
   25    18    >   INIT_FCALL                                               'error_reporting'
         19        SEND_VAL                                                 32767
         20        DO_ICALL                                                 
   51    21    > > RETURN                                                   1

Class ePHPException:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/tEIWW
function name:  __construct
number of ops:  21
compiled vars:  !0 = $message, !1 = $code, !2 = $severity, !3 = $filename, !4 = $lineno, !5 = $previous, !6 = $varList
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   32     0  E >   RECV_INIT                                        !0      ''
          1        RECV_INIT                                        !1      0
          2        RECV_INIT                                        !2      1
          3        RECV_INIT                                        !3      '%2Fin%2FtEIWW'
          4        RECV_INIT                                        !4      32
          5        RECV_INIT                                        !5      null
          6        RECV_INIT                                        !6      <array>
   34     7        ASSIGN_OBJ                                               'severity'
          8        OP_DATA                                                  !2
   35     9        ASSIGN_OBJ                                               'file'
         10        OP_DATA                                                  !3
   36    11        ASSIGN_OBJ                                               'line'
         12        OP_DATA                                                  !4
   37    13        ASSIGN_OBJ                                               'varList'
         14        OP_DATA                                                  !6
   39    15        INIT_STATIC_METHOD_CALL                                  
         16        SEND_VAR_EX                                              !0
         17        SEND_VAR_EX                                              !1
         18        SEND_VAR_EX                                              !5
         19        DO_FCALL                                      0          
   40    20      > RETURN                                                   null

End of function __construct

Function getseverity:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/tEIWW
function name:  getSeverity
number of ops:  3
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   44     0  E >   FETCH_OBJ_R                                      ~0      'severity'
          1      > RETURN                                                   ~0
   45     2*     > RETURN                                                   null

End of function getseverity

Function getvarlist:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/tEIWW
function name:  getVarList
number of ops:  3
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   49     0  E >   FETCH_OBJ_R                                      ~0      'varList'
          1      > RETURN                                                   ~0
   50     2*     > RETURN                                                   null

End of function getvarlist

End of class ePHPException.

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
161.96 ms | 1400 KiB | 15 Q