3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Foo { public $public_parent; protected $protected_parent; private $private_parent; public function whoami() { echo PHP_EOL, __METHOD__, PHP_EOL; echo 'self::class: ', self::class, PHP_EOL; echo 'static::class: ', static::class, PHP_EOL; echo 'property public_parent exists ? ', var_export(property_exists(static::class, 'public_parent'), true), PHP_EOL; echo 'property protected_parent exists ? ', var_export(property_exists(static::class, 'protected_parent'), true), PHP_EOL; echo 'property private_parent exists ? ', var_export(property_exists(static::class, 'private_parent'), true), PHP_EOL; echo 'property public_child exists ? ', var_export(property_exists(static::class, 'public_child'), true), PHP_EOL; echo 'property protected_child exists ? ', var_export(property_exists(static::class, 'protected_child'), true), PHP_EOL; echo 'property private_child exists ? ', var_export(property_exists(static::class, 'private_child'), true), PHP_EOL; echo 'property public_grandchild exists ? ', var_export(property_exists(static::class, 'public_grandchild'), true), PHP_EOL; echo 'property protected_grandchild exists ? ', var_export(property_exists(static::class, 'protected_grandchild'), true), PHP_EOL; echo 'property private_grandchild exists ? ', var_export(property_exists(static::class, 'private_grandchild'), true), PHP_EOL; } } class Foo_Child extends Foo { public $public_child; protected $protected_child; private $private_child; public function whoami() { echo PHP_EOL, __METHOD__, PHP_EOL; echo 'self::class: ', self::class, PHP_EOL; echo 'static::class: ', static::class, PHP_EOL; echo 'property public_parent exists ? ', var_export(property_exists(static::class, 'public_parent'), true), PHP_EOL; echo 'property protected_parent exists ? ', var_export(property_exists(static::class, 'protected_parent'), true), PHP_EOL; echo 'property private_parent exists ? ', var_export(property_exists(static::class, 'private_parent'), true), PHP_EOL; echo 'property public_child exists ? ', var_export(property_exists(static::class, 'public_child'), true), PHP_EOL; echo 'property protected_child exists ? ', var_export(property_exists(static::class, 'protected_child'), true), PHP_EOL; echo 'property private_child exists ? ', var_export(property_exists(static::class, 'private_child'), true), PHP_EOL; echo 'property public_grandchild exists ? ', var_export(property_exists(static::class, 'public_grandchild'), true), PHP_EOL; echo 'property protected_grandchild exists ? ', var_export(property_exists(static::class, 'protected_grandchild'), true), PHP_EOL; echo 'property private_grandchild exists ? ', var_export(property_exists(static::class, 'private_grandchild'), true), PHP_EOL; parent::whoami(); } } class Foo_GrandChild extends Foo_Child { public $public_grandchild; protected $protected_grandchild; private $private_grandchild; public function whoami() { echo PHP_EOL, __METHOD__, PHP_EOL; echo 'self::class: ', self::class, PHP_EOL; echo 'static::class: ', static::class, PHP_EOL; echo 'property public_parent exists ? ', var_export(property_exists(static::class, 'public_parent'), true), PHP_EOL; echo 'property protected_parent exists ? ', var_export(property_exists(static::class, 'protected_parent'), true), PHP_EOL; echo 'property private_parent exists ? ', var_export(property_exists(static::class, 'private_parent'), true), PHP_EOL; echo 'property public_child exists ? ', var_export(property_exists(static::class, 'public_child'), true), PHP_EOL; echo 'property protected_child exists ? ', var_export(property_exists(static::class, 'protected_child'), true), PHP_EOL; echo 'property private_child exists ? ', var_export(property_exists(static::class, 'private_child'), true), PHP_EOL; echo 'property public_grandchild exists ? ', var_export(property_exists(static::class, 'public_grandchild'), true), PHP_EOL; echo 'property protected_grandchild exists ? ', var_export(property_exists(static::class, 'protected_grandchild'), true), PHP_EOL; echo 'property private_grandchild exists ? ', var_export(property_exists(static::class, 'private_grandchild'), true), PHP_EOL; parent::whoami(); } } echo '==== GRANDCHILD OUTSIDE ====', PHP_EOL; $foo_grandchild = new Foo_GrandChild; echo 'property public_parent exists ? ', var_export(property_exists($foo_grandchild, 'public_parent'), true), PHP_EOL; echo 'property protected_parent exists ? ', var_export(property_exists($foo_grandchild, 'protected_parent'), true), PHP_EOL; echo 'property private_parent exists ? ', var_export(property_exists($foo_grandchild, 'private_parent'), true), PHP_EOL; echo 'property public_child exists ? ', var_export(property_exists($foo_grandchild, 'public_child'), true), PHP_EOL; echo 'property protected_child exists ? ', var_export(property_exists($foo_grandchild, 'protected_child'), true), PHP_EOL; echo 'property private_child exists ? ', var_export(property_exists($foo_grandchild, 'private_child'), true), PHP_EOL; echo 'property public_grandchild exists ? ', var_export(property_exists($foo_grandchild, 'public_grandchild'), true), PHP_EOL; echo 'property protected_grandchild exists ? ', var_export(property_exists($foo_grandchild, 'protected_grandchild'), true), PHP_EOL; echo 'property private_grandchild exists ? ', var_export(property_exists($foo_grandchild, 'private_grandchild'), true), PHP_EOL; echo PHP_EOL, '==== INSIDE GRANDCHILD ====', PHP_EOL; $foo_grandchild->whoami(); echo PHP_EOL, '==== CHILD OUTSIDE ====', PHP_EOL; $foo_child = new Foo_Child; echo 'property public_parent exists ? ', var_export(property_exists($foo_child, 'public_parent'), true), PHP_EOL; echo 'property protected_parent exists ? ', var_export(property_exists($foo_child, 'protected_parent'), true), PHP_EOL; echo 'property private_parent exists ? ', var_export(property_exists($foo_child, 'private_parent'), true), PHP_EOL; echo 'property public_child exists ? ', var_export(property_exists($foo_child, 'public_child'), true), PHP_EOL; echo 'property protected_child exists ? ', var_export(property_exists($foo_child, 'protected_child'), true), PHP_EOL; echo 'property private_child exists ? ', var_export(property_exists($foo_child, 'private_child'), true), PHP_EOL; echo 'property public_grandchild exists ? ', var_export(property_exists($foo_child, 'public_grandchild'), true), PHP_EOL; echo 'property protected_grandchild exists ? ', var_export(property_exists($foo_child, 'protected_grandchild'), true), PHP_EOL; echo 'property private_grandchild exists ? ', var_export(property_exists($foo_child, 'private_grandchild'), true), PHP_EOL; echo PHP_EOL, '==== INSIDE CHILD ====', PHP_EOL; $foo_child->whoami(); echo PHP_EOL, '==== PARENT OUTSIDE ====', PHP_EOL; $foo = new Foo; echo 'property public_parent exists ? ', var_export(property_exists($foo, 'public_parent'), true), PHP_EOL; echo 'property protected_parent exists ? ', var_export(property_exists($foo, 'protected_parent'), true), PHP_EOL; echo 'property private_parent exists ? ', var_export(property_exists($foo, 'private_parent'), true), PHP_EOL; echo 'property public_child exists ? ', var_export(property_exists($foo, 'public_child'), true), PHP_EOL; echo 'property protected_child exists ? ', var_export(property_exists($foo, 'protected_child'), true), PHP_EOL; echo 'property private_child exists ? ', var_export(property_exists($foo, 'private_child'), true), PHP_EOL; echo 'property public_grandchild exists ? ', var_export(property_exists($foo, 'public_grandchild'), true), PHP_EOL; echo 'property protected_grandchild exists ? ', var_export(property_exists($foo, 'protected_grandchild'), true), PHP_EOL; echo 'property private_grandchild exists ? ', var_export(property_exists($foo, 'private_grandchild'), true), PHP_EOL; echo PHP_EOL, '==== INSIDE PARENT ====', PHP_EOL; $foo->whoami();
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/H17kf
function name:  (null)
number of ops:  330
compiled vars:  !0 = $foo_grandchild, !1 = $foo_child, !2 = $foo
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   68     0  E >   ECHO                                                     '%3D%3D%3D%3D+GRANDCHILD+OUTSIDE+%3D%3D%3D%3D'
          1        ECHO                                                     '%0A'
   69     2        NEW                                              $3      'Foo_GrandChild'
          3        DO_FCALL                                      0          
          4        ASSIGN                                                   !0, $3
   70     5        ECHO                                                     'property+public_parent+exists+%3F+'
          6        INIT_FCALL                                               'var_export'
          7        INIT_FCALL                                               'property_exists'
          8        SEND_VAR                                                 !0
          9        SEND_VAL                                                 'public_parent'
         10        DO_ICALL                                         $6      
         11        SEND_VAR                                                 $6
         12        SEND_VAL                                                 <true>
         13        DO_ICALL                                         $7      
         14        ECHO                                                     $7
         15        ECHO                                                     '%0A'
   71    16        ECHO                                                     'property+protected_parent+exists+%3F+'
         17        INIT_FCALL                                               'var_export'
         18        INIT_FCALL                                               'property_exists'
         19        SEND_VAR                                                 !0
         20        SEND_VAL                                                 'protected_parent'
         21        DO_ICALL                                         $8      
         22        SEND_VAR                                                 $8
         23        SEND_VAL                                                 <true>
         24        DO_ICALL                                         $9      
         25        ECHO                                                     $9
         26        ECHO                                                     '%0A'
   72    27        ECHO                                                     'property+private_parent+exists+%3F+'
         28        INIT_FCALL                                               'var_export'
         29        INIT_FCALL                                               'property_exists'
         30        SEND_VAR                                                 !0
         31        SEND_VAL                                                 'private_parent'
         32        DO_ICALL                                         $10     
         33        SEND_VAR                                                 $10
         34        SEND_VAL                                                 <true>
         35        DO_ICALL                                         $11     
         36        ECHO                                                     $11
         37        ECHO                                                     '%0A'
   73    38        ECHO                                                     'property+public_child+exists+%3F+'
         39        INIT_FCALL                                               'var_export'
         40        INIT_FCALL                                               'property_exists'
         41        SEND_VAR                                                 !0
         42        SEND_VAL                                                 'public_child'
         43        DO_ICALL                                         $12     
         44        SEND_VAR                                                 $12
         45        SEND_VAL                                                 <true>
         46        DO_ICALL                                         $13     
         47        ECHO                                                     $13
         48        ECHO                                                     '%0A'
   74    49        ECHO                                                     'property+protected_child+exists+%3F+'
         50        INIT_FCALL                                               'var_export'
         51        INIT_FCALL                                               'property_exists'
         52        SEND_VAR                                                 !0
         53        SEND_VAL                                                 'protected_child'
         54        DO_ICALL                                         $14     
         55        SEND_VAR                                                 $14
         56        SEND_VAL                                                 <true>
         57        DO_ICALL                                         $15     
         58        ECHO                                                     $15
         59        ECHO                                                     '%0A'
   75    60        ECHO                                                     'property+private_child+exists+%3F+'
         61        INIT_FCALL                                               'var_export'
         62        INIT_FCALL                                               'property_exists'
         63        SEND_VAR                                                 !0
         64        SEND_VAL                                                 'private_child'
         65        DO_ICALL                                         $16     
         66        SEND_VAR                                                 $16
         67        SEND_VAL                                                 <true>
         68        DO_ICALL                                         $17     
         69        ECHO                                                     $17
         70        ECHO                                                     '%0A'
   76    71        ECHO                                                     'property+public_grandchild+exists+%3F+'
         72        INIT_FCALL                                               'var_export'
         73        INIT_FCALL                                               'property_exists'
         74        SEND_VAR                                                 !0
         75        SEND_VAL                                                 'public_grandchild'
         76        DO_ICALL                                         $18     
         77        SEND_VAR                                                 $18
         78        SEND_VAL                                                 <true>
         79        DO_ICALL                                         $19     
         80        ECHO                                                     $19
         81        ECHO                                                     '%0A'
   77    82        ECHO                                                     'property+protected_grandchild+exists+%3F+'
         83        INIT_FCALL                                               'var_export'
         84        INIT_FCALL                                               'property_exists'
         85        SEND_VAR                                                 !0
         86        SEND_VAL                                                 'protected_grandchild'
         87        DO_ICALL                                         $20     
         88        SEND_VAR                                                 $20
         89        SEND_VAL                                                 <true>
         90        DO_ICALL                                         $21     
         91        ECHO                                                     $21
         92        ECHO                                                     '%0A'
   78    93        ECHO                                                     'property+private_grandchild+exists+%3F+'
         94        INIT_FCALL                                               'var_export'
         95        INIT_FCALL                                               'property_exists'
         96        SEND_VAR                                                 !0
         97        SEND_VAL                                                 'private_grandchild'
         98        DO_ICALL                                         $22     
         99        SEND_VAR                                                 $22
        100        SEND_VAL                                                 <true>
        101        DO_ICALL                                         $23     
        102        ECHO                                                     $23
        103        ECHO                                                     '%0A'
   80   104        ECHO                                                     '%0A'
        105        ECHO                                                     '%3D%3D%3D%3D+INSIDE+GRANDCHILD+%3D%3D%3D%3D'
        106        ECHO                                                     '%0A'
   81   107        INIT_METHOD_CALL                                         !0, 'whoami'
        108        DO_FCALL                                      0          
   83   109        ECHO                                                     '%0A'
        110        ECHO                                                     '%3D%3D%3D%3D+CHILD+OUTSIDE+%3D%3D%3D%3D'
        111        ECHO                                                     '%0A'
   84   112        NEW                                              $25     'Foo_Child'
        113        DO_FCALL                                      0          
        114        ASSIGN                                                   !1, $25
   85   115        ECHO                                                     'property+public_parent+exists+%3F+'
        116        INIT_FCALL                                               'var_export'
        117        INIT_FCALL                                               'property_exists'
        118        SEND_VAR                                                 !1
        119        SEND_VAL                                                 'public_parent'
        120        DO_ICALL                                         $28     
        121        SEND_VAR                                                 $28
        122        SEND_VAL                                                 <true>
        123        DO_ICALL                                         $29     
        124        ECHO                                                     $29
        125        ECHO                                                     '%0A'
   86   126        ECHO                                                     'property+protected_parent+exists+%3F+'
        127        INIT_FCALL                                               'var_export'
        128        INIT_FCALL                                               'property_exists'
        129        SEND_VAR                                                 !1
        130        SEND_VAL                                                 'protected_parent'
        131        DO_ICALL                                         $30     
        132        SEND_VAR                                                 $30
        133        SEND_VAL                                                 <true>
        134        DO_ICALL                                         $31     
        135        ECHO                                                     $31
        136        ECHO                                                     '%0A'
   87   137        ECHO                                                     'property+private_parent+exists+%3F+'
        138        INIT_FCALL                                               'var_export'
        139        INIT_FCALL                                               'property_exists'
        140        SEND_VAR                                                 !1
        141        SEND_VAL                                                 'private_parent'
        142        DO_ICALL                                         $32     
        143        SEND_VAR                                                 $32
        144        SEND_VAL                                                 <true>
        145        DO_ICALL                                         $33     
        146        ECHO                                                     $33
        147        ECHO                                                     '%0A'
   88   148        ECHO                                                     'property+public_child+exists+%3F+'
        149        INIT_FCALL                                               'var_export'
        150        INIT_FCALL                                               'property_exists'
        151        SEND_VAR                                                 !1
        152        SEND_VAL                                                 'public_child'
        153        DO_ICALL                                         $34     
        154        SEND_VAR                                                 $34
        155        SEND_VAL                                                 <true>
        156        DO_ICALL                                         $35     
        157        ECHO                                                     $35
        158        ECHO                                                     '%0A'
   89   159        ECHO                                                     'property+protected_child+exists+%3F+'
        160        INIT_FCALL                                               'var_export'
        161        INIT_FCALL                                               'property_exists'
        162        SEND_VAR                                                 !1
        163        SEND_VAL                                                 'protected_child'
        164        DO_ICALL                                         $36     
        165        SEND_VAR                                                 $36
        166        SEND_VAL                                                 <true>
        167        DO_ICALL                                         $37     
        168        ECHO                                                     $37
        169        ECHO                                                     '%0A'
   90   170        ECHO                                                     'property+private_child+exists+%3F+'
        171        INIT_FCALL                                               'var_export'
        172        INIT_FCALL                                               'property_exists'
        173        SEND_VAR                                                 !1
        174        SEND_VAL                                                 'private_child'
        175        DO_ICALL                                         $38     
        176        SEND_VAR                                                 $38
        177        SEND_VAL                                                 <true>
        178        DO_ICALL                                         $39     
        179        ECHO                                                     $39
        180        ECHO                                                     '%0A'
   91   181        ECHO                                                     'property+public_grandchild+exists+%3F+'
        182        INIT_FCALL                                               'var_export'
        183        INIT_FCALL                                               'property_exists'
        184        SEND_VAR                                                 !1
        185        SEND_VAL                                                 'public_grandchild'
        186        DO_ICALL                                         $40     
        187        SEND_VAR                                                 $40
        188        SEND_VAL                                                 <true>
        189        DO_ICALL                                         $41     
        190        ECHO                                                     $41
        191        ECHO                                                     '%0A'
   92   192        ECHO                                                     'property+protected_grandchild+exists+%3F+'
        193        INIT_FCALL                                               'var_export'
        194        INIT_FCALL                                               'property_exists'
        195        SEND_VAR                                                 !1
        196        SEND_VAL                                                 'protected_grandchild'
        197        DO_ICALL                                         $42     
        198        SEND_VAR                                                 $42
        199        SEND_VAL                                                 <true>
        200        DO_ICALL                                         $43     
        201        ECHO                                                     $43
        202        ECHO                                                     '%0A'
   93   203        ECHO                                                     'property+private_grandchild+exists+%3F+'
        204        INIT_FCALL                                               'var_export'
        205        INIT_FCALL                                               'property_exists'
        206        SEND_VAR                                                 !1
        207        SEND_VAL                                                 'private_grandchild'
        208        DO_ICALL                                         $44     
        209        SEND_VAR                                                 $44
        210        SEND_VAL                                                 <true>
        211        DO_ICALL                                         $45     
        212        ECHO                                                     $45
        213        ECHO                                                     '%0A'
   95   214        ECHO                                                     '%0A'
        215        ECHO                                                     '%3D%3D%3D%3D+INSIDE+CHILD+%3D%3D%3D%3D'
        216        ECHO                                                     '%0A'
   96   217        INIT_METHOD_CALL                                         !1, 'whoami'
        218        DO_FCALL                                      0          
   98   219        ECHO                                                     '%0A'
        220        ECHO                                                     '%3D%3D%3D%3D+PARENT+OUTSIDE+%3D%3D%3D%3D'
        221        ECHO                                                     '%0A'
   99   222        NEW                                              $47     'Foo'
        223        DO_FCALL                                      0          
        224        ASSIGN                                                   !2, $47
  100   225        ECHO                                                     'property+public_parent+exists+%3F+'
        226        INIT_FCALL                                               'var_export'
        227        INIT_FCALL                                               'property_exists'
        228        SEND_VAR                                                 !2
        229        SEND_VAL                                                 'public_parent'
        230        DO_ICALL                                         $50     
        231        SEND_VAR                                                 $50
        232        SEND_VAL                                                 <true>
        233        DO_ICALL                                         $51     
        234        ECHO                                                     $51
        235        ECHO                                                     '%0A'
  101   236        ECHO                                                     'property+protected_parent+exists+%3F+'
        237        INIT_FCALL                                               'var_export'
        238        INIT_FCALL                                               'property_exists'
        239        SEND_VAR                                                 !2
        240        SEND_VAL                                                 'protected_parent'
        241        DO_ICALL                                         $52     
        242        SEND_VAR                                                 $52
        243        SEND_VAL                                                 <true>
        244        DO_ICALL                                         $53     
        245        ECHO                                                     $53
        246        ECHO                                                     '%0A'
  102   247        ECHO                                                     'property+private_parent+exists+%3F+'
        248        INIT_FCALL                                               'var_export'
        249        INIT_FCALL                                               'property_exists'
        250        SEND_VAR                                                 !2
        251        SEND_VAL                                                 'private_parent'
        252        DO_ICALL                                         $54     
        253        SEND_VAR                                                 $54
        254        SEND_VAL                                                 <true>
        255        DO_ICALL                                         $55     
        256        ECHO                                                     $55
        257        ECHO                                                     '%0A'
  103   258        ECHO                                                     'property+public_child+exists+%3F+'
        259        INIT_FCALL                                               'var_export'
        260        INIT_FCALL                                               'property_exists'
        261        SEND_VAR                                                 !2
        262        SEND_VAL                                                 'public_child'
        263        DO_ICALL                                         $56     
        264        SEND_VAR                                                 $56
        265        SEND_VAL                                                 <true>
        266        DO_ICALL                                         $57     
        267        ECHO                                                     $57
        268        ECHO                                                     '%0A'
  104   269        ECHO                                                     'property+protected_child+exists+%3F+'
        270        INIT_FCALL                                               'var_export'
        271        INIT_FCALL                                               'property_exists'
        272        SEND_VAR                                                 !2
        273        SEND_VAL                                                 'protected_child'
        274        DO_ICALL                                         $58     
        275        SEND_VAR                                                 $58
        276        SEND_VAL                                                 <true>
        277        DO_ICALL                                         $59     
        278        ECHO                                                     $59
        279        ECHO                                                     '%0A'
  105   280        ECHO                                                     'property+private_child+exists+%3F+'
        281        INIT_FCALL                                               'var_export'
        282        INIT_FCALL                                               'property_exists'
        283        SEND_VAR                                                 !2
        284        SEND_VAL                                                 'private_child'
        285        DO_ICALL                                         $60     
        286        SEND_VAR                                                 $60
        287        SEND_VAL                                                 <true>
        288        DO_ICALL                                         $61     
        289        ECHO                                                     $61
        290        ECHO                                                     '%0A'
  106   291        ECHO                                                     'property+public_grandchild+exists+%3F+'
        292        INIT_FCALL                                               'var_export'
        293        INIT_FCALL                                               'property_exists'
        294        SEND_VAR                                                 !2
        295        SEND_VAL                                                 'public_grandchild'
        296        DO_ICALL                                         $62     
        297        SEND_VAR                                                 $62
        298        SEND_VAL                                                 <true>
        299        DO_ICALL                                         $63     
        300        ECHO                                                     $63
        301        ECHO                                                     '%0A'
  107   302        ECHO                                                     'property+protected_grandchild+exists+%3F+'
        303        INIT_FCALL                                               'var_export'
        304        INIT_FCALL                                               'property_exists'
        305        SEND_VAR                                                 !2
        306        SEND_VAL                                                 'protected_grandchild'
        307        DO_ICALL                                         $64     
        308        SEND_VAR                                                 $64
        309        SEND_VAL                                                 <true>
        310        DO_ICALL                                         $65     
        311        ECHO                                                     $65
        312        ECHO                                                     '%0A'
  108   313        ECHO                                                     'property+private_grandchild+exists+%3F+'
        314        INIT_FCALL                                               'var_export'
        315        INIT_FCALL                                               'property_exists'
        316        SEND_VAR                                                 !2
        317        SEND_VAL                                                 'private_grandchild'
        318        DO_ICALL                                         $66     
        319        SEND_VAR                                                 $66
        320        SEND_VAL                                                 <true>
        321        DO_ICALL                                         $67     
        322        ECHO                                                     $67
        323        ECHO                                                     '%0A'
  110   324        ECHO                                                     '%0A'
        325        ECHO                                                     '%3D%3D%3D%3D+INSIDE+PARENT+%3D%3D%3D%3D'
        326        ECHO                                                     '%0A'
  111   327        INIT_METHOD_CALL                                         !2, 'whoami'
        328        DO_FCALL                                      0          
        329      > RETURN                                                   1

Class Foo:
Function whoami:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/H17kf
function name:  whoami
number of ops:  119
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    9     0  E >   ECHO                                                     '%0A'
          1        ECHO                                                     'Foo%3A%3Awhoami'
          2        ECHO                                                     '%0A'
   10     3        ECHO                                                     'self%3A%3Aclass%3A+'
          4        ECHO                                                     'Foo'
          5        ECHO                                                     '%0A'
   11     6        ECHO                                                     'static%3A%3Aclass%3A+'
          7        FETCH_CLASS_NAME                                 ~0      
          8        ECHO                                                     ~0
          9        ECHO                                                     '%0A'
   12    10        ECHO                                                     'property+public_parent+exists+%3F+'
         11        INIT_FCALL                                               'var_export'
         12        INIT_FCALL                                               'property_exists'
         13        FETCH_CLASS_NAME                                 ~1      
         14        SEND_VAL                                                 ~1
         15        SEND_VAL                                                 'public_parent'
         16        DO_ICALL                                         $2      
         17        SEND_VAR                                                 $2
         18        SEND_VAL                                                 <true>
         19        DO_ICALL                                         $3      
         20        ECHO                                                     $3
         21        ECHO                                                     '%0A'
   13    22        ECHO                                                     'property+protected_parent+exists+%3F+'
         23        INIT_FCALL                                               'var_export'
         24        INIT_FCALL                                               'property_exists'
         25        FETCH_CLASS_NAME                                 ~4      
         26        SEND_VAL                                                 ~4
         27        SEND_VAL                                                 'protected_parent'
         28        DO_ICALL                                         $5      
         29        SEND_VAR                                                 $5
         30        SEND_VAL                                                 <true>
         31        DO_ICALL                                         $6      
         32        ECHO                                                     $6
         33        ECHO                                                     '%0A'
   14    34        ECHO                                                     'property+private_parent+exists+%3F+'
         35        INIT_FCALL                                               'var_export'
         36        INIT_FCALL                                               'property_exists'
         37        FETCH_CLASS_NAME                                 ~7      
         38        SEND_VAL                                                 ~7
         39        SEND_

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
183.16 ms | 1420 KiB | 17 Q