Uso de traits en traits
Los traits, al igual que las clases, también pueden utilizar otros traits. Veamos un ejemplo. Supongamos que tenemos este trait con dos métodos:
<?php
trait Trait1
{
private function method1()
{
return 1;
}
private function method2()
{
return 2;
}
}
?>
Supongamos que también tenemos otro trait:
<?php
trait Trait2
{
private function method3()
{
return 3;
}
}
?>
Conectemos el trait Trait1
al trait Trait2:
<?php
trait Trait2
{
use Trait1; // utilizamos el primer trait
private function method3()
{
return 3;
}
}
?>
Después de esta conexión, resultará que Trait2
tendrá, además de sus propios métodos, también los métodos
del trait Trait1. Comprobemos esto: creemos una
clase Test, conectemos el trait Trait2 a ella
y asegurémonos de que en nuestra clase aparezcan los métodos
tanto del primer trait como del segundo:
<?php
class Test
{
use Trait2; // conectamos el segundo trait
public function __construct()
{
echo $this->method1(); // método del primer trait
echo $this->method2(); // método del primer trait
echo $this->method3(); // método del segundo trait
}
}
?>
Cree por su cuenta los mismos traits,
como los míos y conéctelos a la clase Test.
Cree en esta clase el método getSum,
que devuelva la suma de los resultados de los métodos de los traits
conectados.