<?php
trait Test {
private $bridge;
public function implement()
{
if (is_callable([parent,'implement'])){
parent::implement();
}
echo $this->foo;
}
}
class A {
private $foo = 'bar';
private $final = 1;
public function __construct()
{
$this->implement();
}
public function foo()
{
echo $this->bridge;
}
}
class B extends A {
use Test;
private $foo = 'baz';
}
new B();
Fatal error: Uncaught Error: Undefined constant "parent" in /in/r2laC:10
Stack trace:
#0 /in/r2laC(27): B->implement()
#1 /in/r2laC(42): A->__construct()
#2 {main}
thrown in /in/r2laC on line 10
Process exited with code 255.