3v4l.org

run code in 300+ PHP versions simultaneously
<?php trait MyTrait { public static $foo = 'Zero'; } class MyClassOne { use MyTrait; } class MyClassTwo { use MyTrait; } MyClassOne::$foo = 'One'; MyTrait::$foo = 'Eklage'; MyClassTwo::$foo = 'Two'; // What will happen? Remember: trait is pseudo copy-paste, not real inheritance! echo MyClassOne::$foo; echo MyClassTwo::$foo; echo MyTrait::$foo;
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/rWtS6
function name:  (null)
number of ops:  15
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    6     0  E >   DECLARE_CLASS                                            'myclassone'
   10     1        DECLARE_CLASS                                            'myclasstwo'
   14     2        ASSIGN_STATIC_PROP                                       'foo', 'MyClassOne'
          3        OP_DATA                                                  'One'
   15     4        ASSIGN_STATIC_PROP                                       'foo', 'MyTrait'
          5        OP_DATA                                                  'Eklage'
   16     6        ASSIGN_STATIC_PROP                                       'foo', 'MyClassTwo'
          7        OP_DATA                                                  'Two'
   19     8        FETCH_STATIC_PROP_R          unknown             ~3      'foo'
          9        ECHO                                                     ~3
   20    10        FETCH_STATIC_PROP_R          unknown             ~4      'foo'
         11        ECHO                                                     ~4
   21    12        FETCH_STATIC_PROP_R          unknown             ~5      'foo'
         13        ECHO                                                     ~5
         14      > RETURN                                                   1

Class MyTrait: [no user functions]
Class MyClassOne: [no user functions]
Class MyClassTwo: [no user functions]

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
147.91 ms | 1393 KiB | 13 Q