3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php trait A { function calc1($v) { echo '/ calc1 trait /'.$this->x; } function calc($v) { echo '/ calc trait /'.$this->x; } } class MyClass { use A; public $x; function calc($v) { echo '/ calc class /'; A::calc1(5); //parent::calc($v); } } $x=new MyClass(); $x->x = 5; $x->calc(123);
based on dV0nh
Output for 7.0.0 - 7.2.0
/ calc class / Deprecated: Non-static method A::calc1() should not be called statically in /in/oIZPD on line 17 Fatal error: Uncaught Error: Using $this when not in object context in /in/oIZPD:4 Stack trace: #0 /in/oIZPD(17): A::calc1(5) #1 /in/oIZPD(24): MyClass->calc(123) #2 {main} thrown in /in/oIZPD on line 4
Process exited with code 255.
Output for 5.6.8 - 5.6.28
/ calc class / Deprecated: Non-static method A::calc1() should not be called statically, assuming $this from incompatible context in /in/oIZPD on line 17 / calc1 trait /5
Output for 5.4.0 - 5.5.35
/ calc class / Strict Standards: Non-static method A::calc1() should not be called statically, assuming $this from incompatible context in /in/oIZPD on line 17 / calc1 trait /5
Output for 5.3.19 - 5.3.29
Parse error: syntax error, unexpected T_STRING in /in/oIZPD on line 2
Process exited with code 255.