Otro ejemplo:
Código PHP:
Ver originaltrait uno {
public function A()
{
$this->h=1;
$this->B();
}
private function B()
{
$h++;
echo $h;
}
}
trait dos {
public function A()
{
$this->h=3;
$this->B();
}
private function B()
{
$this->h--;
echo $this->h;
}
}
class prueba
{
use uno,dos {
uno::A insteadof dos;
dos::B insteadof uno;
}
}
$c=new prueba();
$c->A();
Qué valor se imprime?
Cero (0)
La clase que usa los traits, está alterando el funcionamiento interno de los mismos...Esto es un antipatrón OOP.