<?php
namespace Foo;
trait aTrait {
protected function one() {
echo "a-one ";
}
public function two() {
echo "a-two ";
}
protected fucntion three() {
return '';
}
}
namespace Bar;
use Foo\aTrait as bTrait;
trait aTrait {
use bTrait {
one as originalOne;
two as originalTwo;
}
protected function one() {
echo "b-one";
$this->originalOne();
}
public function two() {
$this->three();
$this->originalTwo();
}
}
namespace Baz;
use Bar\atrait;
class Test {
use aTrait;
public function __construct() {
$this->one();
}
}
$test = new Test();