<?php
namespace Foo;
trait aTrait {
protected function one() {
echo "a-one ";
}
public function two() {
echo "a-two ";
}
protected function three() {
return '';
}
}
namespace Bar;
use Foo\aTrait as bTrait;
trait aTrait {
use bTrait {
one as originalOne;
two as originalGetQualifiedDeletedAtColumn;
}
protected function one() {
echo "b-one";
$this->originalOne();
}
public function two() {
$this->three();
$this->originalGetQualifiedDeletedAtColumn();
}
}
namespace Baz;
use Bar\atrait;
class Base {
use aTrait;
}
class Test extends Base {
public function __construct() {
$this->one();
}
}
$test = new Test();
Fatal error: Trait method one has not been applied, because there are collisions with other trait methods on Baz\Base in /in/QnbXG on line 48
Process exited with code 255.
Output for 5.3.0 - 5.3.29
Parse error: syntax error, unexpected T_STRING in /in/QnbXG on line 5
Process exited with code 255.