3v4l.org

run code in 300+ PHP versions simultaneously
<?php class DateTimeExtended extends DateTime { public function __get($name) { switch ($name) { case 'year': return (int)$this->format('Y'); case 'month': return (int)$this->format('n'); case 'day': return (int)$this->format('j'); case 'hour': return (int)$this->format('G'); case 'minute': return (int)$this->format('i'); case 'second': return (int)$this->format('s'); case 'dayOfWeek': return (int)$this->format('w'); case 'dayOfYear': return (int)$this->format('z'); case 'weekOfYear': return (int)$this->format('W'); case 'daysInMonth': return (int)$this->format('t'); case 'timestamp': return (int)$this->format('U'); default: throw new InvalidArgumentException(sprintf('Unknown property "%s".', $name)); } } public static function createFromFormat($format, $time, $tz = null) { if ($tz) { $date = parent::createFromFormat($format, $time, $tz); } else { $date = parent::createFromFormat($format, $time); } $errors = static::getLastErrors(); if ($errors['warning_count'] !== 0 || $errors['error_count'] !== 0) { throw new InvalidArgumentException(sprintf('Unable to parse date "%s" by pattern "%s".', $time, $format)); } if (!$date instanceof self) { return new static($date->format('Y-m-d H:i:s'), $date->getTimeZone()); } return $date; } public function format($format) { $format = preg_replace_callback('/(?:f|[Мм]есяца?|[Дд]еньнед(?:ели)?)/u', array($this, 'replaceFormatCallback'), $format); return parent::format($format); } public function replaceFormatCallback(array $matches) { switch ($matches[0]) { case 'f': return mb_strtolower(en_get_month_name($this->month)); case 'Месяц': return ru_get_month_name($this->month); case 'Месяца': return ru_get_month_name($this->month, 2); case 'месяц': return mb_strtolower(ru_get_month_name($this->month)); case 'месяца': return mb_strtolower(ru_get_month_name($this->month, 2)); case 'Деньнедели': return ru_get_weekday_name($this->dayOfWeek); case 'Деньнед': return ru_get_weekday_name($this->dayOfWeek, true); case 'деньнедели': return mb_strtolower(ru_get_weekday_name($this->dayOfWeek)); case 'деньнед': return mb_strtolower(ru_get_weekday_name($this->dayOfWeek, true)); } return $matches[0]; } public static function convert($from, $to, $value) { return static::createFromFormat($from, $value)->format($to); } public static function check($format, $value) { try { static::createFromFormat($format, $value); } catch (InvalidArgumentException $e) { return false; } return true; } }
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/S6XZo
function name:  (null)
number of ops:  1
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   99     0  E > > RETURN                                                   1

Class DateTimeExtended:
Function __get:
Finding entry points
Branch analysis from position: 0
13 jumps found. (Code = 188) Position 1 = 25, Position 2 = 30, Position 3 = 35, Position 4 = 40, Position 5 = 45, Position 6 = 50, Position 7 = 55, Position 8 = 60, Position 9 = 65, Position 10 = 70, Position 11 = 75, Position 12 = 80, Position 13 = 2
Branch analysis from position: 25
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 30
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 35
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 40
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 45
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 50
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 55
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 60
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 65
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 70
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 75
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 80
1 jumps found. (Code = 108) Position 1 = -2
Branch analysis from position: 2
2 jumps found. (Code = 44) Position 1 = 4, Position 2 = 25
Branch analysis from position: 4
2 jumps found. (Code = 44) Position 1 = 6, Position 2 = 30
Branch analysis from position: 6
2 jumps found. (Code = 44) Position 1 = 8, Position 2 = 35
Branch analysis from position: 8
2 jumps found. (Code = 44) Position 1 = 10, Position 2 = 40
Branch analysis from position: 10
2 jumps found. (Code = 44) Position 1 = 12, Position 2 = 45
Branch analysis from position: 12
2 jumps found. (Code = 44) Position 1 = 14, Position 2 = 50
Branch analysis from position: 14
2 jumps found. (Code = 44) Position 1 = 16, Position 2 = 55
Branch analysis from position: 16
2 jumps found. (Code = 44) Position 1 = 18, Position 2 = 60
Branch analysis from position: 18
2 jumps found. (Code = 44) Position 1 = 20, Position 2 = 65
Branch analysis from position: 20
2 jumps found. (Code = 44) Position 1 = 22, Position 2 = 70
Branch analysis from position: 22
2 jumps found. (Code = 44) Position 1 = 24, Position 2 = 75
Branch analysis from position: 24
1 jumps found. (Code = 42) Position 1 = 80
Branch analysis from position: 80
Branch analysis from position: 75
Branch analysis from position: 70
Branch analysis from position: 65
Branch analysis from position: 60
Branch analysis from position: 55
Branch analysis from position: 50
Branch analysis from position: 45
Branch analysis from position: 40
Branch analysis from position: 35
Branch analysis from position: 30
Branch analysis from position: 25
filename:       /in/S6XZo
function name:  __get
number of ops:  89
compiled vars:  !0 = $name
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    5     0  E >   RECV                                             !0      
    6     1      > SWITCH_STRING                                            !0, [ 'year':->25, 'month':->30, 'day':->35, 'hour':->40, 'minute':->45, 'second':->50, 'dayOfWeek':->55, 'dayOfYear':->60, 'weekOfYear':->65, 'daysInMonth':->70, 'timestamp':->75, ], ->80
    7     2    >   IS_EQUAL                                                 !0, 'year'
          3      > JMPNZ                                                    ~1, ->25
    9     4    >   IS_EQUAL                                                 !0, 'month'
          5      > JMPNZ                                                    ~1, ->30
   11     6    >   IS_EQUAL                                                 !0, 'day'
          7      > JMPNZ                                                    ~1, ->35
   13     8    >   IS_EQUAL                                                 !0, 'hour'
          9      > JMPNZ                                                    ~1, ->40
   15    10    >   IS_EQUAL                                                 !0, 'minute'
         11      > JMPNZ                                                    ~1, ->45
   17    12    >   IS_EQUAL                                                 !0, 'second'
         13      > JMPNZ                                                    ~1, ->50
   19    14    >   IS_EQUAL                                                 !0, 'dayOfWeek'
         15      > JMPNZ                                                    ~1, ->55
   21    16    >   IS_EQUAL                                                 !0, 'dayOfYear'
         17      > JMPNZ                                                    ~1, ->60
   23    18    >   IS_EQUAL                                                 !0, 'weekOfYear'
         19      > JMPNZ                                                    ~1, ->65
   25    20    >   IS_EQUAL                                                 !0, 'daysInMonth'
         21      > JMPNZ                                                    ~1, ->70
   27    22    >   IS_EQUAL                                                 !0, 'timestamp'
         23      > JMPNZ                                                    ~1, ->75
         24    > > JMP                                                      ->80
    8    25    >   INIT_METHOD_CALL                                         'format'
         26        SEND_VAL_EX                                              'Y'
         27        DO_FCALL                                      0  $2      
         28        CAST                                          4  ~3      $2
         29      > RETURN                                                   ~3
   10    30    >   INIT_METHOD_CALL                                         'format'
         31        SEND_VAL_EX                                              'n'
         32        DO_FCALL                                      0  $4      
         33        CAST                                          4  ~5      $4
         34      > RETURN                                                   ~5
   12    35    >   INIT_METHOD_CALL                                         'format'
         36        SEND_VAL_EX                                              'j'
         37        DO_FCALL                                      0  $6      
         38        CAST                                          4  ~7      $6
         39      > RETURN                                                   ~7
   14    40    >   INIT_METHOD_CALL                                         'format'
         41        SEND_VAL_EX                                              'G'
         42        DO_FCALL                                      0  $8      
         43        CAST                                          4  ~9      $8
         44      > RETURN                                                   ~9
   16    45    >   INIT_METHOD_CALL                                         'format'
         46        SEND_VAL_EX                                              'i'
         47        DO_FCALL                                      0  $10     
         48        CAST                                          4  ~11     $10
         49      > RETURN                                                   ~11
   18    50    >   INIT_METHOD_CALL                                         'format'
         51        SEND_VAL_EX                                              's'
         52        DO_FCALL                                      0  $12     
         53        CAST                                          4  ~13     $12
         54      > RETURN                                                   ~13
   20    55    >   INIT_METHOD_CALL                                         'format'
         56        SEND_VAL_EX                                              'w'
         57        DO_FCALL                                      0  $14     
         58        CAST                                          4  ~15     $14
         59      > RETURN                                                   ~15
   22    60    >   INIT_METHOD_CALL                                         'format'
         61        SEND_VAL_EX                                              'z'
         62        DO_FCALL                                      0  $16     
         63        CAST                                          4  ~17     $16
         64      > RETURN                                                   ~17
   24    65    >   INIT_METHOD_CALL                                         'format'
         66        SEND_VAL_EX                                              'W'
         67        DO_FCALL                                      0  $18     
         68        CAST                                          4  ~19     $18
         69      > RETURN                                                   ~19
   26    70    >   INIT_METHOD_CALL                                         'format'
         71        SEND_VAL_EX                                              't'
         72        DO_FCALL                                      0  $20     
         73        CAST                                          4  ~21     $20
         74      > RETURN                                                   ~21
   28    75    >   INIT_METHOD_CALL                                         'format'
         76        SEND_VAL_EX                                              'U'
         77        DO_FCALL                                      0  $22     
         78        CAST                                          4  ~23     $22
         79      > RETURN                                                   ~23
   30    80    >   NEW                                              $24     'InvalidArgumentException'
         81        INIT_FCALL                                               'sprintf'
         82        SEND_VAL                                                 'Unknown+property+%22%25s%22.'
         83        SEND_VAR                                                 !0
         84        DO_ICALL                                         $25     
         85        SEND_VAR_NO_REF_EX                                       $25
         86        DO_FCALL                                      0          
         87      > THROW                                         0          $24
   32    88*     > RETURN                                                   null

End of function __get

Function createfromformat:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 4, Position 2 = 11
Branch analysis from position: 4
1 jumps found. (Code = 42) Position 1 = 16
Branch analysis from position: 16
2 jumps found. (Code = 47) Position 1 = 22, Position 2 = 25
Branch analysis from position: 22
2 jumps found. (Code = 43) Position 1 = 26, Position 2 = 35
Branch analysis from position: 26
1 jumps found. (Code = 108) Position 1 = -2
Branch analysis from position: 35
2 jumps found. (Code = 43) Position 1 = 38, Position 2 = 48
Branch analysis from position: 38
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 48
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 25
Branch analysis from position: 11
2 jumps found. (Code = 47) Position 1 = 22, Position 2 = 25
Branch analysis from position: 22
Branch analysis from position: 25
filename:       /in/S6XZo
function name:  createFromFormat
number of ops:  50
compiled vars:  !0 = $format, !1 = $time, !2 = $tz, !3 = $date, !4 = $errors
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   34     0  E >   RECV                                             !0      
          1        RECV                                             !1      
          2        RECV_INIT                                        !2      null
   35     3      > JMPZ                                                     !2, ->11
   36     4    >   INIT_STATIC_METHOD_CALL                                  'createFromFormat'
          5        SEND_VAR_EX                                              !0
          6        SEND_VAR_EX                                              !1
          7        SEND_VAR_EX                                              !2
          8        DO_FCALL                                      0  $5      
          9        ASSIGN                                                   !3, $5
         10      > JMP                                                      ->16
   38    11    >   INIT_STATIC_METHOD_CALL                                  'createFromFormat'
         12        SEND_VAR_EX                                              !0
         13        SEND_VAR_EX                                              !1
         14        DO_FCALL                                      0  $7      
         15        ASSIGN                                                   !3, $7
   41    16    >   INIT_STATIC_METHOD_CALL                                  'getLastErrors'
         17        DO_FCALL                                      0  $9      
         18        ASSIGN                                                   !4, $9
   43    19        FETCH_DIM_R                                      ~11     !4, 'warning_count'
         20        IS_NOT_IDENTICAL                                 ~12     ~11, 0
         21      > JMPNZ_EX                                         ~12     ~12, ->25
         22    >   FETCH_DIM_R                                      ~13     !4, 'error_count'
         23        IS_NOT_IDENTICAL                                 ~14     ~13, 0
         24        BOOL                                             ~12     ~14
         25    > > JMPZ                                                     ~12, ->35
   44    26    >   NEW                                              $15     'InvalidArgumentException'
         27        INIT_FCALL                                               'sprintf'
         28        SEND_VAL                                                 'Unable+to+parse+date+%22%25s%22+by+pattern+%22%25s%22.'
         29        SEND_VAR                                                 !1
         30        SEND_VAR                                                 !0
         31        DO_ICALL                                         $16     
         32        SEND_VAR_NO_REF_EX                                       $16
         33        DO_FCALL                                      0          
         34      > THROW                                         0          $15
   47    35    >   INSTANCEOF                                       ~18     !3
         36        BOOL_NOT                                         ~19     ~18
         37      > JMPZ                                                     ~19, ->48
   48    38    >   NEW                          static              $20     
         39        INIT_METHOD_CALL                                         !3, 'format'
         40        SEND_VAL_EX                                              'Y-m-d+H%3Ai%3As'
         41        DO_FCALL                                      0  $21     
         42        SEND_VAR_NO_REF_EX                                       $21
         43        INIT_METHOD_CALL                                         !3, 'getTimeZone'
         44        DO_FCALL                                      0  $22     
         45        SEND_VAR_NO_REF_EX                                       $22
         46        DO_FCALL                                      0          
         47      > RETURN                                                   $20
   51    48    > > RETURN                                                   !3
   52    49*     > RETURN                                                   null

End of function createfromformat

Function format:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/S6XZo
function name:  format
number of ops:  15
compiled vars:  !0 = $format
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   54     0  E >   RECV                                             !0      
   55     1        INIT_FCALL                                               'preg_replace_callback'
          2        SEND_VAL                                                 '%2F%28%3F%3Af%7C%5B%D0%9C%D0%BC%5D%D0%B5%D1%81%D1%8F%D1%86%D0%B0%3F%7C%5B%D0%94%D0%B4%5D%D0%B5%D0%BD%D1%8C%D0%BD%D0%B5%D0%B4%28%3F%3A%D0%B5%D0%BB%D0%B8%29%3F%29%2Fu'
          3        FETCH_THIS                                       ~1      
          4        INIT_ARRAY                                       ~2      ~1
          5        ADD_ARRAY_ELEMENT                                ~2      'replaceFormatCallback'
          6        SEND_VAL                                                 ~2
          7        SEND_VAR                                                 !0
          8        DO_ICALL                                         $3      
          9        ASSIGN                                                   !0, $3
   57    10        INIT_STATIC_METHOD_CALL                                  'format'
         11        SEND_VAR_EX                                              !0
         12        DO_FCALL                                      0  $5      
         13      > RETURN                                                   $5
   58    14*     > RETURN                                                   null

End of function format

Function replaceformatcallback:
Finding entry points
Branch analysis from position: 0
11 jumps found. (Code = 188) Position 1 = 22, Position 2 = 32, Position 3 = 39, Position 4 = 47, Position 5 = 57, Position 6 = 68, Position 7 = 75, Position 8 = 83, Position 9 = 93, Position 10 = 104, Position 11 = 3
Branch analysis from position: 22
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 32
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 39
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 47
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 57
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 68
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 75
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 83
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 93
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 104
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 3
2 jumps found. (Code = 44) Position 1 = 5, Position 2 = 22
Branch analysis from position: 5
2 jumps found. (Code = 44) Position 1 = 7, Position 2 = 32
Branch analysis from position: 7
2 jumps found. (Code = 44) Position 1 = 9, Position 2 = 39
Branch analysis from position: 9
2 jumps found. (Code = 44) Position 1 = 11, Position 2 = 47
Branch analysis from position: 11
2 jumps found. (Code = 44) Position 1 = 13, Position 2 = 57
Branch analysis from position: 13
2 jumps found. (Code = 44) Position 1 = 15, Position 2 = 68
Branch analysis from position: 15
2 jumps found. (Code = 44) Position 1 = 17, Position 2 = 75
Branch analysis from position: 17
2 jumps found. (Code = 44) Position 1 = 19, Position 2 = 83
Branch analysis from position: 19
2 jumps found. (Code = 44) Position 1 = 21, Position 2 = 93
Branch analysis from position: 21
1 jumps found. (Code = 42) Position 1 = 104
Branch analysis from position: 104
Branch analysis from position: 93
Branch analysis from position: 83
Branch analysis from position: 75
Branch analysis from position: 68
Branch analysis from position: 57
Branch analysis from position: 47
Branch analysis from position: 39
Branch analysis from position: 32
Branch analysis from position: 22
filename:       /in/S6XZo
function name:  replaceFormatCallback
number of ops:  108
compiled vars:  !0 = $matches
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   60     0  E >   RECV                                             !0      
   61     1        FETCH_DIM_R                                      ~1      !0, 0
          2      > SWITCH_STRING                                            ~1, [ 'f':->22, '%D0%9C%D0%B5%D1%81%D1%8F%D1%86':->32, '%D0%9C%D0%B5%D1%81%D1%8F%D1%86%D0%B0':->39, '%D0%BC%D0%B5%D1%81%D1%8F%D1%86':->47, '%D0%BC%D0%B5%D1%81%D1%8F%D1%86%D0%B0':->57, '%D0%94%D0%B5%D0%BD%D1%8C%D0%BD%D0%B5%D0%B4%D0%B5%D0%BB%D0%B8':->68, '%D0%94%D0%B5%D0%BD%D1%8C%D0%BD%D0%B5%D0%B4':->75, '%D0%B4%D0%B5%D0%BD%D1%8C%D0%BD%D0%B5%D0%B4%D0%B5%D0%BB%D0%B8':->83, '%D0%B4%D0%B5%D0%BD%D1%8C%D0%BD%D0%B5%D0%B4':->93, ], ->104
   62     3    >   CASE                                                     ~1, 'f'
          4      > JMPNZ                                                    ~2, ->22
   64     5    >   CASE                                                     ~1, '%D0%9C%D0%B5%D1%81%D1%8F%D1%86'
          6      > JMPNZ                                                    ~2, ->32
   66     7    >   CASE                                                     ~1, '%D0%9C%D0%B5%D1%81%D1%8F%D1%86%D0%B0'
          8      > JMPNZ                                                    ~2, ->39
   68     9    >   CASE                                                     ~1, '%D0%BC%D0%B5%D1%81%D1%8F%D1%86'
         10      > JMPNZ                                                    ~2, ->47
   70    11    >   CASE                                                     ~1, '%D0%BC%D0%B5%D1%81%D1%8F%D1%86%D0%B0'
         12      > JMPNZ                                                    ~2, ->57
   72    13    >   CASE                                                     ~1, '%D0%94%D0%B5%D0%BD%D1%8C%D0%BD%D0%B5%D0%B4%D0%B5%D0%BB%D0%B8'
         14      > JMPNZ                                                    ~2, ->68
   74    15    >   CASE                                                     ~1, '%D0%94%D0%B5%D0%BD%D1%8C%D0%BD%D0%B5%D0%B4'
         16      > JMPNZ                                                    ~2, ->75
   76    17    >   CASE                                                     ~1, '%D0%B4%D0%B5%D0%BD%D1%8C%D0%BD%D0%B5%D0%B4%D0%B5%D0%BB%D0%B8'
         18      > JMPNZ                                                    ~2, ->83
   78    19    >   CASE                                                     ~1, '%D0%B4%D0%B5%D0%BD%D1%8C%D0%BD%D0%B5%D0%B4'
         20      > JMPNZ                                                    ~2, ->93
         21    > > JMP                                                      ->104
   63    22    >   INIT_FCALL                                               'mb_strtolower'
         23        INIT_FCALL_BY_NAME                                       'en_get_month_name'
         24        CHECK_FUNC_ARG                                           
         25        FETCH_OBJ_FUNC_ARG                               $3      'month'
         26        SEND_FUNC_ARG                                            $3
         27        DO_FCALL                                      0  $4      
         28        SEND_VAR                                                 $4
         29        DO_ICALL                                         $5      
         30        FREE                                                     ~1
         31      > RETURN                                                   $5
   65    32    >   INIT_FCALL_BY_NAME                                       'ru_get_month_name'
         33        CHECK_FUNC_ARG                                           
         34        FETCH_OBJ_FUNC_ARG                               $6      'month'
         35        SEND_FUNC_ARG                                            $6
         36        DO_FCALL                                      0  $7      
         37        FREE                                                     ~1
         38      > RETURN                                                   $7
   67    39    >   INIT_FCALL_BY_NAME                                       'ru_get_month_name'
         40        CHECK_FUNC_ARG                                           
         41        FETCH_OBJ_FUNC_ARG                               $8      'month'
         42        SEND_FUNC_ARG                                            $8
         43        SEND_VAL_EX                                              2
         44        DO_FCALL                                      0  $9      
         45        FREE                                                     ~1
         46      > RETURN                                                   $9
   69    47    >   INIT_FCALL                                               'mb_strtolower'
         48        INIT_FCALL_BY_NAME                                       'ru_get_month_name'
         49        CHECK_FUNC_ARG                                           
         50        FETCH_OBJ_FUNC_ARG                               $10     'month'
         51        SEND_FUNC_ARG                                            $10
         52        DO_FCALL                                      0  $11     
         53        SEND_VAR                                                 $11
         54        DO_ICALL                                         $12     
         55        FREE                                                     ~1
         56      > RETURN                                                   $12
   71    57    >   INIT_FCALL                                               'mb_strtolower'
         58        INIT_FCALL_BY_NAME                                       'ru_get_month_name'
         59        CHECK_FUNC_ARG                                           
         60        FETCH_OBJ_FUNC_ARG                               $13     'month'
         61        SEND_FUNC_ARG                                            $13
         62        SEND_VAL_EX                                              2
         63        DO_FCALL                                      0  $14     
         64        SEND_VAR                                                 $14
         65        DO_ICALL                                         $15     
         66        FREE                                                     ~1
         67      > RETURN                                                   $15
   73    68    >   INIT_FCALL_BY_NAME                                       'ru_get_weekday_name'
         69        CHECK_FUNC_ARG                                           
         70        FETCH_OBJ_FUNC_ARG                               $16     'dayOfWeek'
         71        SEND_FUNC_ARG                                            $16
         72        DO_FCALL                                      0  $17     
         73        FREE                                                     ~1
         74      > RETURN                                                   $17
   75    75    >   INIT_FCALL_BY_NAME                                       'ru_get_weekday_name'
         76        CHECK_FUNC_ARG                                           
         77        FETCH_OBJ_FUNC_ARG                               $18     'dayOfWeek'
         78        SEND_FUNC_ARG                                            $18
         79        SEND_VAL_EX                                              <true>
         80        DO_FCALL                                      0  $19     
         81        FREE                                                     ~1
         82      > RETURN                                                   $19
   77    83    >   INIT_FCALL                                               'mb_strtolower'
         84        INIT_FCALL_BY_NAME                                       'ru_get_weekday_name'
         85        CHECK_FUNC_ARG                                           
         86        FETCH_OBJ_FUNC_ARG                               $20     'dayOfWeek'
         87        SEND_FUNC_ARG                                            $20
         88        DO_FCALL                                      0  $21     
         89        SEND_VAR                                                 $21
         90        DO_ICALL                                         $22     
         91        FREE                                                     ~1
         92      > RETURN                                                   $22
   79    93    >   INIT_FCALL                                               'mb_strtolower'
         94        INIT_FCALL_BY_NAME                                       'ru_get_weekday_name'
         95        CHECK_FUNC_ARG                                           
         96        FETCH_OBJ_FUNC_ARG                               $23     'dayOfWeek'
         97        SEND_FUNC_ARG                                            $23
         98        SEND_VAL_EX                                              <true>
         99        DO_FCALL                                      0  $24     
        100        SEND_VAR                                                 $24
        101        DO_ICALL                                         $25     
        102        FREE                                                     ~1
        103      > RETURN                                                   $25
        104    >   FREE                                                     ~1
   82   105        FETCH_DIM_R                                      ~26     !0, 0
        106      > RETURN                                                   ~26
   83   107*     > RETURN                                                   null

End of function replaceformatcallback

Function convert:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/S6XZo
function name:  convert
number of ops:  12
compiled vars:  !0 = $from, !1 = $to, !2 = $value
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   85     0  E >   RECV                                             !0      
          1        RECV                                             !1      
          2        RECV                                             !2      
   86     3        INIT_STATIC_METHOD_CALL                                  'createFromFormat'
          4        SEND_VAR_EX                                              !0
          5        SEND_VAR_EX                                              !2
          6        DO_FCALL                                      0  $3      
          7        INIT_METHOD_CALL                                         $3, 'format'
          8        SEND_VAR_EX                                              !1
          9        DO_FCALL                                      0  $4      
         10      > RETURN                                                   $4
   87    11*     > RETURN                                                   null

End of function convert

Function check:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 9
Branch analysis from position: 9
1 jumps found. (Code = 62) Position 1 = -2
Found catch point at position: 7
Branch analysis from position: 7
2 jumps found. (Code = 107) Position 1 = 8, Position 2 = -2
Branch analysis from position: 8
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/S6XZo
function name:  check
number of ops:  11
compiled vars:  !0 = $format, !1 = $value, !2 = $e
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   89     0  E >   RECV                                             !0      
       

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
160.18 ms | 1433 KiB | 19 Q