3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Element { private $single, $tag, $value, $attr=array(); public function __construct($tag, $single = false) { $this->tag = $tag; $this->single = $single; } public function Value($value) { $this->value = $value; } public function AddAttr($attr, $list = false) { if ($list) { array_merge($this->attr, $list); } else { array_push($this->attr, $attr); } } public function GetAttr($name = null) { if ($i === null) { return $this->attr; } else { foreach($this->attr as $try) { if ($try->Name() === $name) { return $this->attr[$name]; } } return new Attribute(""); } } public function SetAttr($name, $value) { $exist = false; foreach($this->attr as $try) { if ($try->Name() === $name) { $try->Value($value); $exist = true; } } if (!$exist) { array_push($this->attr, new Attr($name, $value)); } } public function AttrFromString($string) { $items = explode(" ", $string); $newlist = array(); foreach($items as $yes) { if (strpos($yes, "=")!==false) { $as = explode('=', $yes); } else { $as[0] = $yes; $as[1] = ""; } if (substr($as[1], 0,1) == "'" || substr($as[1], 0,1) == '"') { $as[1] = substr($as[1],1,strlen($as[1])-1); } array_push($newlist, new Attribute($as[0], $as[1])); } array_merge($this->attr, $newlist); } public function RemoveAttr($name = null) { if ($name === null) { $this->attr = array(); } else { for($i = 0; $i < count($this->attr); $i++) { if ($this->attr[$i]->Name() === $name) { unset($this->attr[$i]); } } } } public function __toString() { return "<" . $this->tag . " " . implode(" ",$this->attr) . ($this->single ? (!empty($this->value) ? "value='" . $this->value ."'" : "" ). "/>" : '>' . $this->value . '</'.$this->tag.'>'); } } define('NewLine', "<br />"); define('DocType', '<!DOCTYPE html>'); class Attribute { private $name, $value; public function __construct($name, $value = "") { $this->name = $name; $this->value = $value; } public function Name($name = null) { if ($name === null) { return $this->name; } else { $this->name = $name; } } public function Value($value = null) { if ($value === null) { return $this->value; } else { $this->value = $value; } } public function __toString() { if (is_array($this->value)) { $code = ""; foreach ($this->value as $key => $value) { $code .= $key . ":" . $value . ';'; } } return ($this->value === true ? $this->name : ($this->value === false ? "" : ($this->value === "" ? $this->name : $this->name . "='".(is_array($this->value) ? $code : $this->value ). "'"))); } } $a = new Element("a"); $a->AddAttr(new Attribute("href", "http://twitter.nl")); $a->AddAttr(new Attribute("target", "_blank")); $span = new Element("span"); $span->AddAttr(new Attribute("style", array("color" => "orange","background-color" => "green"))); $span->Value("doei"); //Ads Doei in Span $span->AttrFromString("rel='none'"); //Adds Rel to None $img = new Element("img", true); //Makes Img Element $img->AddAttr(new Attribute("src", "https://www.google.nl/images/srpr/logo4w.png")); //Adds SRC $a->RemoveAttr("href"); //Removes Href Attribute $a->Value($span . NewLine. "hello world" .NewLine . $img); //Changes Inner Html of the A echo $a;
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/uaQCm
function name:  (null)
number of ops:  69
compiled vars:  !0 = $a, !1 = $span, !2 = $img
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  81     0  E >   INIT_FCALL                                               'define'
         1        SEND_VAL                                                 'NewLine'
         2        SEND_VAL                                                 '%3Cbr+%2F%3E'
         3        DO_ICALL                                                 
  82     4        INIT_FCALL                                               'define'
         5        SEND_VAL                                                 'DocType'
         6        SEND_VAL                                                 '%3C%21DOCTYPE+html%3E'
         7        DO_ICALL                                                 
 116     8        NEW                                              $5      :123
         9        SEND_VAL_EX                                              'a'
        10        DO_FCALL                                      0          
        11        QM_ASSIGN                                                !0
 117    12        INIT_METHOD_CALL                                         !0, 'AddAttr'
        13        NEW                                              $8      :118
        14        SEND_VAL_EX                                              'href'
        15        SEND_VAL_EX                                              'http%3A%2F%2Ftwitter.nl'
        16        DO_FCALL                                      0          
        17        SEND_VAR_NO_REF_EX                                       $8
        18        DO_FCALL                                      0          
 118    19        INIT_METHOD_CALL                                         !0, 'AddAttr'
        20        NEW                                              $11     :110
        21        SEND_VAL_EX                                              'target'
        22        SEND_VAL_EX                                              '_blank'
        23        DO_FCALL                                      0          
        24        SEND_VAR_NO_REF_EX                                       $11
        25        DO_FCALL                                      0          
 119    26        NEW                                              $14     :102
        27        SEND_VAL_EX                                              'span'
        28        DO_FCALL                                      0          
        29        QM_ASSIGN                                                !1
 120    30        INIT_METHOD_CALL                                         !1, 'AddAttr'
        31        NEW                                              $17     :97
        32        SEND_VAL_EX                                              'style'
        33        SEND_VAL_EX                                              <array>
        34        DO_FCALL                                      0          
        35        SEND_VAR_NO_REF_EX                                       $17
        36        DO_FCALL                                      0          
 121    37        INIT_METHOD_CALL                                         !1, 'Value'
        38        SEND_VAL_EX                                              'doei'
        39        DO_FCALL                                      0          
 122    40        INIT_METHOD_CALL                                         !1, 'AttrFromString'
        41        SEND_VAL_EX                                              'rel%3D%27none%27'
        42        DO_FCALL                                      0          
 123    43        NEW                                              $22     :83
        44        SEND_VAL_EX                                              'img'
        45        SEND_VAL_EX                                              <true>
        46        DO_FCALL                                      0          
        47        QM_ASSIGN                                                !2
 124    48        INIT_METHOD_CALL                                         !2, 'AddAttr'
        49        NEW                                              $25     :77
        50        SEND_VAL_EX                                              'src'
        51        SEND_VAL_EX                                              'https%3A%2F%2Fwww.google.nl%2Fimages%2Fsrpr%2Flogo4w.png'
        52        DO_FCALL                                      0          
        53        SEND_VAR_NO_REF_EX                                       $25
        54        DO_FCALL                                      0          
 125    55        INIT_METHOD_CALL                                         !0, 'RemoveAttr'
        56        SEND_VAL_EX                                              'href'
        57        DO_FCALL                                      0          
 126    58        INIT_METHOD_CALL                                         !0, 'Value'
        59        FETCH_CONSTANT                                   ~29     'NewLine'
        60        CONCAT                                           ~30     !1, ~29
        61        CONCAT                                           ~31     ~30, 'hello+world'
        62        FETCH_CONSTANT                                   ~32     'NewLine'
        63        CONCAT                                           ~33     ~31, ~32
        64        CONCAT                                           ~34     ~33, !2
        65        SEND_VAL_EX                                              ~34
        66        DO_FCALL                                      0          
 129    67        ASSIGN_OBJ                                               !0
        68      > RETURN                                                   1

Class Element:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/uaQCm
function name:  __construct
number of ops:  7
compiled vars:  !0 = $tag, !1 = $single
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   4     0  E >   RECV                                             !0      
         1        RECV_INIT                                        !1      <false>
   5     2        ASSIGN_SUB                                    0          'tag'
         3        OP_DATA                                                  !0
   6     4        ASSIGN_SUB                                   24          'single'
         5        OP_DATA                                                  !1
   7     6      > RETURN                                                   null

End of function __construct

Function value:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/uaQCm
function name:  Value
number of ops:  4
compiled vars:  !0 = $value
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   8     0  E >   RECV                                             !0      
   9     1        ASSIGN_SUB                                    0          'value'
         2        OP_DATA                                                  !0
  10     3      > RETURN                                                   null

End of function value

Function addattr:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 3, Position 2 = 9
Branch analysis from position: 3
1 jumps found. (Code = 42) Position 1 = 14
Branch analysis from position: 14
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 9
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/uaQCm
function name:  AddAttr
number of ops:  15
compiled vars:  !0 = $attr, !1 = $list
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  11     0  E >   RECV                                             !0      
         1        RECV_INIT                                        !1      <false>
  12     2      > JMPZ                                                     !1, ->9
  13     3    >   INIT_FCALL                                               'array_merge'
         4        FETCH_OBJ_R                                      ~2      'attr'
         5        SEND_VAL                                                 ~2
         6        SEND_VAR                                                 !1
         7        DO_ICALL                                                 
         8      > JMP                                                      ->14
  16     9    >   INIT_FCALL                                               'array_push'
        10        FETCH_OBJ_W                                      $4      'attr'
        11        SEND_REF                                                 $4
        12        SEND_VAR                                                 !0
        13        DO_ICALL                                                 
  18    14    > > RETURN                                                   null

End of function addattr

Function getattr:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 3, Position 2 = 6
Branch analysis from position: 3
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 6
2 jumps found. (Code = 77) Position 1 = 8, Position 2 = 18
Branch analysis from position: 8
2 jumps found. (Code = 78) Position 1 = 9, Position 2 = 18
Branch analysis from position: 9
2 jumps found. (Code = 43) Position 1 = 13, Position 2 = 17
Branch analysis from position: 13
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 17
1 jumps found. (Code = 42) Position 1 = 8
Branch analysis from position: 8
Branch analysis from position: 18
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 18
filename:       /in/uaQCm
function name:  GetAttr
number of ops:  24
compiled vars:  !0 = $name, !1 = $i, !2 = $try
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  19     0  E >   RECV_INIT                                        !0      null
  20     1        IS_NOT_IDENTICAL                                 ~3      !1, null
         2      > JMPZ                                                     ~3, ->6
  21     3    >   FETCH_OBJ_R                                      ~4      'attr'
         4      > RETURN                                                   ~4
         5*       JMP                                                      ->23
  24     6    >   FETCH_OBJ_R                                      ~5      'attr'
         7      > FE_RESET_R                                       $6      ~5, ->18
         8    > > FE_FETCH_R                                               $6, !2, ->18
  25     9    >   INIT_METHOD_CALL                                         !2, 'Name'
        10        DO_FCALL                                      0  $7      
        11        IS_NOT_IDENTICAL                                 ~8      !0, $7
        12      > JMPZ                                                     ~8, ->17
  26    13    >   FETCH_OBJ_R                                      ~9      'attr'
        14        FETCH_DIM_R                                      ~10     ~9, !0
        15        FE_FREE                                                  $6
        16      > RETURN                                                   ~10
  24    17    > > JMP                                                      ->8
        18    >   FE_FREE                                                  $6
  29    19        NEW                                              $11     :12
        20        SEND_VAL_EX                                              ''
        21        DO_FCALL                                      0          
        22      > RETURN                                                   $11
  31    23*     > RETURN                                                   null

End of function getattr

Function setattr:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 5, Position 2 = 15
Branch analysis from position: 5
2 jumps found. (Code = 78) Position 1 = 6, Position 2 = 15
Branch analysis from position: 6
2 jumps found. (Code = 43) Position 1 = 10, Position 2 = 14
Branch analysis from position: 10
1 jumps found. (Code = 42) Position 1 = 5
Branch analysis from position: 5
Branch analysis from position: 14
Branch analysis from position: 15
2 jumps found. (Code = 43) Position 1 = 18, Position 2 = 27
Branch analysis from position: 18
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 27
Branch analysis from position: 15
filename:       /in/uaQCm
function name:  SetAttr
number of ops:  28
compiled vars:  !0 = $name, !1 = $value, !2 = $exist, !3 = $try
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  32     0  E >   RECV                                             !0      
         1        RECV                                             !1      
  33     2        QM_ASSIGN                                                !2
  34     3        FETCH_OBJ_R                                      ~5      'attr'
         4      > FE_RESET_R                                       $6      ~5, ->15
         5    > > FE_FETCH_R                                               $6, !3, ->15
  35     6    >   INIT_METHOD_CALL                                         !3, 'Name'
         7        DO_FCALL                                      0  $7      
         8        IS_NOT_IDENTICAL                                 ~8      !0, $7
         9      > JMPZ                                                     ~8, ->14
  36    10    >   INIT_METHOD_CALL                                         !3, 'Value'
        11        SEND_VAR_EX                                              !1
        12        DO_FCALL                                      0          
  37    13        QM_ASSIGN                                                !2
  34    14    > > JMP                                                      ->5
        15    >   FE_FREE                                                  $6
  40    16        BOOL_XOR                                         ~11     !2
        17      > JMPZ                                                     ~11, ->27
  41    18    >   INIT_FCALL                                               'array_push'
        19        FETCH_OBJ_W                                      $12     'attr'
        20        SEND_REF                                                 $12
        21        NEW                                              $13     :18
        22        SEND_VAR_EX                                              !0
        23        SEND_VAR_EX                                              !1
        24        DO_FCALL                                      0          
        25        SEND_VAR                                                 $13
        26        DO_ICALL                                                 
  44    27    > > RETURN                                                   null

End of function setattr

Function attrfromstring:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 8, Position 2 = 66
Branch analysis from position: 8
2 jumps found. (Code = 78) Position 1 = 9, Position 2 = 66
Branch analysis from position: 9
2 jumps found. (Code = 43) Position 1 = 15, Position 2 = 21
Branch analysis from position: 15
1 jumps found. (Code = 42) Position 1 = 25
Branch analysis from position: 25
2 jumps found. (Code = 47) Position 1 = 33, Position 2 = 41
Branch analysis from position: 33
2 jumps found. (Code = 43) Position 1 = 42, Position 2 = 53
Branch analysis from position: 42
1 jumps found. (Code = 42) Position 1 = 8
Branch analysis from position: 8
Branch analysis from position: 53
Branch analysis from position: 41
Branch analysis from position: 21
2 jumps found. (Code = 47) Position 1 = 33, Position 2 = 41
Branch analysis from position: 33
Branch analysis from position: 41
Branch analysis from position: 66
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 66
filename:       /in/uaQCm
function name:  AttrFromString
number of ops:  73
compiled vars:  !0 = $string, !1 = $items, !2 = $newlist, !3 = $yes, !4 = $as
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  45     0  E >   RECV                                             !0      
  46     1        INIT_FCALL                                               'explode'
         2        SEND_VAL                                                 '+'
         3        SEND_VAR                                                 !0
         4        DO_ICALL                                         $5      
         5        QM_ASSIGN                                                !1
  47     6        QM_ASSIGN                                                !2
  48     7      > FE_RESET_R                                       $8      !1, ->66
         8    > > FE_FETCH_R                                               $8, !3, ->66
  49     9    >   INIT_FCALL                                               'strpos'
        10        SEND_VAR                                                 !3
        11        SEND_VAL                                                 '%3D'
        12        DO_ICALL                                         $9      
        13        IS_EQUAL                                         ~10     $9, <false>
        14      > JMPZ                                                     ~10, ->21
  50    15    >   INIT_FCALL                                               'explode'
        16        SEND_VAL                                                 '%3D'
        17        SEND_VAR                                                 !3
        18        DO_ICALL                                         $11     
        19        QM_ASSIGN                                                !4
        20      > JMP                                                      ->25
  53    21    >   ASSIGN_ADD                                    0          !4, 0
        22        OP_DATA                                                  !3
  54    23        ASSIGN_ADD                                    0          !4, 1
        24        OP_DATA                                                  ''
  56    25    >   INIT_FCALL                                               'substr'
        26        FETCH_DIM_R                                      ~15     !4, 1
        27        SEND_VAL                                                 ~15
        28        SEND_VAL                                                 0
        29        SEND_VAL                                                 1
        30        DO_ICALL                                         $16     
        31        IS_NOT_EQUAL                                     ~17     $16, '%27'
        32      > JMPNZ_EX                                         ~17     ~17, ->41
        33    >   INIT_FCALL                                               'substr'
        34        FETCH_DIM_R                                      ~18     !4, 1
        35        SEND_VAL                                                 ~18
        36        SEND_VAL                                                 0
        37        SEND_VAL                                                 1
        38        DO_ICALL                                         $19     
        39        IS_NOT_EQUAL                                     ~20     $19, '%22'
        40        BOOL                                             ~17     ~20
        41    > > JMPZ                                                     ~17, ->53
  57    42    >   INIT_FCALL                                               'substr'
        43        FETCH_DIM_R                                      ~22     !4, 1
        44        SEND_VAL                                                 ~22
        45        SEND_VAL                                                 1
        46        FETCH_DIM_R                                      ~23     !4, 1
        47        STRLEN                                           ~24     ~23
        48        SUB                                              ~25     ~24, 1
        49        SEND_VAL                                                 ~25
        50        DO_ICALL                                         $26     
        51        ASSIGN_ADD                                    0          !4, 1
        52        OP_DATA                                                  $26
  59    53    >   INIT_FCALL                                               'array_push'
        54        SEND_REF                                                 !2
        55        NEW                                              $27     :59
        56        CHECK_FUNC_ARG                                           
        57        FETCH_DIM_FUNC_ARG                               $28     !4, 0
        58        SEND_FUNC_ARG                                            $28
        59        CHECK_FUNC_ARG                                           
        60        FETCH_DIM_FUNC_ARG                               $29     !4, 1
        61        SEND_FUNC_ARG                                            $29
        62        DO_FCALL                                      0          
        63        SEND_VAR                                                 $27
        64        DO_ICALL                                                 
  48    65      > JMP                                                      ->8
        66    >   FE_FREE                                                  $8
  61    67        INIT_FCALL                                               'array_merge'
        68        FETCH_OBJ_R                                      ~32     'attr'
        69        SEND_VAL                                                 ~32
        70        SEND_VAR                                                 !2
        71        DO_ICALL                                                 
  62    72      > RETURN                                                   null

End of function attrfromstring

Function removeattr:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 3, Position 2 = 6
Branch analysis from position: 3
1 jumps found. (Code = 42) Position 1 = 22
Branch analysis from position: 22
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 6
1 jumps found. (Code = 42) Position 1 = 18
Branch analysis from position: 18
2 jumps found. (Code = 44) Position 1 = 22, Position 2 = 8
Branch analysis from position: 22
Branch analysis from position: 8
2 jumps found. (Code = 43) Position 1 = 14, Position 2 = 16
Branch analysis from position: 14
2 jumps found. (Code = 44) Position 1 = 22, Position 2 = 8
Branch analysis from position: 22
Branch analysis from position: 8
Branch analysis from position: 16
filename:       /in/uaQCm
function name:  RemoveAttr
number of ops:  23
compiled vars:  !0 = $name, !1 = $i
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  63     0  E >   RECV_INIT                                        !0      null
  64     1        IS_NOT_IDENTICAL                                 ~2      !0, null
         2      > JMPZ                                                     ~2, ->6
  65     3    >   ASSIGN_SUB                                    0          'attr'
         4        OP_DATA                                                  <array>
         5      > JMP                                                      ->22
  68     6    >   QM_ASSIGN                                                !1
         7      > JMP                                                      ->18
  69     8    >   FETCH_OBJ_R                                      ~5      'attr'
         9        FETCH_DIM_R                                      ~6      ~5, !1
        10        INIT_METHOD_CALL                                         ~6, 'Name'
        11        DO_FCALL                                      0  $7      
        12        IS_NOT_IDENTICAL                                 ~8      !0, $7
        13      > JMPZ                                                     ~8, ->16
  70    14    >   FETCH_OBJ_UNSET                                  $9      'attr'
        15        UNSET_DIM                                                $9, !1
  68    16    >   POST_INC                                         ~10     !1
        17        FREE                                                     ~10
        18    >   FETCH_OBJ_R                                      ~11     'attr'
        19        COUNT                                            ~12     ~11
        20        IS_SMALLER_OR_EQUAL                              ~13     !1, ~12
        21      > JMPNZ                                                    ~13, ->8
  75    22    > > RETURN                                                   null

End of function removeattr

Function __tostring:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 11, Position 2 = 23
Branch analysis from position: 11
2 jumps found. (Code = 43) Position 1 = 14, Position 2 = 19
Branch analysis from position: 14
1 jumps found. (Code = 42) Position 1 = 20
Branch analysis from position: 20
1 jumps found. (Code = 42) Position 1 = 30
Branch analysis from position: 30
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 19
1 jumps found. (Code = 42) Position 1 = 30
Branch analysis from position: 30
Branch analysis from position: 23
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/uaQCm
function name:  __toString
number of ops:  33
compiled vars:  none
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  78     0  E >   FETCH_OBJ_R                                      ~0      'tag'
         1        CONCAT                                           ~1      '%3C', ~0
         2        CONCAT                                           ~2      ~1, '+'
         3        INIT_FCALL                                               'implode'
         4        SEND_VAL                                                 '+'
         5        FETCH_OBJ_R                                      ~3      'attr'
         6        SEND_VAL                                                 ~3
         7        DO_ICALL                                         $4      
         8        CONCAT                                           ~5      ~2, $4
         9        FETCH_OBJ_R                                      ~6      'single'
        10      > JMPZ                                                     ~6, ->23
        11    >   ISSET_ISEMPTY_PROP_OBJ                           ~7      'value'
        12        BOOL_XOR                                         ~8      ~7
        13      > JMPZ                                                     ~8, ->19
        14    >   FETCH_OBJ_R                                      ~9      'value'
        15        CONCAT                                           ~10     'value%3D%27', ~9
        16        CONCAT                                           ~11     ~10, '%27'
        17        ASSIGN_BW_OR                                  0  ~12     ~11
        18      > JMP                                                      ->20
        19    >   ASSIGN_BW_OR                                  0  ~12     ''
        20    >   CONCAT                                           ~13     ~12, '%2F%3E'
        21        ASSIGN_BW_OR                                  0  ~14     ~13
        22      > JMP                                                      ->30
        23    >   FETCH_OBJ_R                                      ~15     'value'
        24        CONCAT                                           ~16     '%3E', ~15
        25        CONCAT                                           ~17     ~16, '%3C%2F'
        26        FETCH_OBJ_R                                      ~18     'tag'
        27        CONCAT                                           ~19     ~17, ~18
        28        CONCAT                                           ~20     ~19, '%3E'
        29        ASSIGN_BW_OR                                  0  ~14     ~20
        30    >   CONCAT                                           ~21     ~5, ~14
        31      > RETURN                                                   ~21
  79    32*     > RETURN                                                   null

End of function __tostring

End of class Element.

Class Attribute:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/uaQCm
function name:  __construct
number of ops:  7
compiled vars:  !0 = $name, !1 = $value
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  85     0  E >   RECV                                             !0      
         1        RECV_INIT                                        !1      ''
  86     2        ASSIGN_SUB                                    0          'name'
         3        OP_DATA                                                  !0
  87     4        ASSIGN_SUB                                   24          'value'
         5        OP_DATA                                                  !1
  88     6      > RETURN                                                   null

End of function __construct

Function name:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 3, Position 2 = 6
Branch analysis from position: 3
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 6
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/uaQCm
function name:  Name
number of ops:  9
compiled vars:  !0 = $name
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  89     0  E >   RECV_INIT                                        !0      null
  90     1        IS_NOT_IDENTICAL                                 ~1      !0, null
         2      > JMPZ                                                     ~1, ->6
  91     3    >   FETCH_OBJ_R                                      ~2      'name'
         4      > RETURN                                                   ~2
         5*       JMP                                                      ->8
  94     6    >   ASSIGN_SUB                                   24          'name'
         7        OP_DATA                                                  !0
  96     8      > RETURN                                                   null

End of function name

Function value:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 3, Position 2 = 6
Branch analysis from position: 3
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 6
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/uaQCm
function name:  Value
number of ops:  9
compiled vars:  !0 = $value
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  97     0  E >   RECV_INIT                                        !0      null
  98     1        IS_NOT_IDENTICAL 

Generated using Vulcan Logic Dumper, using php 7.4.0