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::calc(5); //parent::calc($v); } } $x=new MyClass(); $x->x = 5; $x->calc(123);
based on nYe0H
Output for 7.0.0 - 7.2.0
/ calc class / Deprecated: Non-static method A::calc() should not be called statically in /in/sEiLS on line 17 Fatal error: Uncaught Error: Using $this when not in object context in /in/sEiLS:7 Stack trace: #0 /in/sEiLS(17): A::calc(5) #1 /in/sEiLS(24): MyClass->calc(123) #2 {main} thrown in /in/sEiLS on line 7
Process exited with code 255.
Output for 5.6.8 - 5.6.21
/ calc class / Deprecated: Non-static method A::calc() should not be called statically, assuming $this from incompatible context in /in/sEiLS on line 17 / calc trait /5
Output for 5.4.0 - 5.5.35
/ calc class / Strict Standards: Non-static method A::calc() should not be called statically, assuming $this from incompatible context in /in/sEiLS on line 17 / calc trait /5
Output for 5.3.19 - 5.3.29
Parse error: syntax error, unexpected T_STRING in /in/sEiLS on line 2
Process exited with code 255.