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 l1qkE
Output for 7.0.0 - 7.3.1
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/jm7J5 on line 5
Output for 5.3.19 - 5.3.29
Parse error: syntax error, unexpected T_STRING in /in/jm7J5 on line 2
Process exited with code 255.