3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php trait foo { protected $foo; protected function foo() { return $this->foo; } } trait bar { use foo; public function bar() { return $this->foo().'bar'; } } class A { use foo; public function __construct() { $this->foo = 'foo'; } } class B extends A { use bar; } $b = new B(); $b->bar();
based on dHitX
Output for 7.0.0 - 7.2.0
Output for 5.4.9 - 5.6.28
Strict Standards: A and bar define the same property ($foo) in the composition of B. This might be incompatible, to improve maintainability consider using accessor methods in traits instead. Class was composed in /in/l1qkE on line 36
Output for 5.3.19 - 5.3.29
Parse error: syntax error, unexpected T_STRING in /in/l1qkE on line 3
Process exited with code 255.