- Output for 7.4.0 - 7.4.33, 8.0.1 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
- Y/a X/a X/a
<?php
trait T {
private function a() {
return "T/a\n";
}
public function callAFromT() {
return $this->a();
}
}
class X {
use T;
private function a() {
return "X/a\n";
}
public function callAFromX() {
return $this->a();
}
}
class Y extends X {
private function a() {
return "Y/a\n";
}
public function callAFromY() {
return $this->a();
}
}
$y = new Y;
echo $y->callAFromY(); // outputs "Y/a"
echo $y->callAFromX(); // outputs "X/a"
echo $y->callAFromT(); // expected: "T/a"; outputs "X/a";