<?php
namespace One {
trait foo {
static $bar = [];
public static function a() {
}
}
}
namespace Two {
use One\foo as OneFoo;
trait foo {
use OneFoo;
public static function a() {
$bar[] = 'qux';
}
}
}
namespace Three {
class qux {
use \One\foo;
public static function a() {
\Two\bat::a();
}
}
class bing extends qux {
use \Two\foo;
}
}
namespace {
\Three\bing::a();
}
Fatal error: Three\qux and Two\foo define the same property ($bar) in the composition of Three\bing. However, the definition differs and is considered incompatible. Class was composed in /in/ZF9ii on line 33
Process exited with code 255.
Output for 5.6.7 - 5.6.28
Strict Standards: Three\qux and Two\foo define the same property ($bar) in the composition of Three\bing. This might be incompatible, to improve maintainability consider using accessor methods in traits instead. Class was composed in /in/ZF9ii on line 35
Output for 5.4.2 - 5.4.45, 5.5.24 - 5.5.35
Fatal error: Three\qux and Two\foo define the same property ($bar) in the composition of Three\bing. However, the definition differs and is considered incompatible. Class was composed in /in/ZF9ii on line 35
Process exited with code 255.