Várias Traits em POO no PHP
Em uma classe, você pode usar não apenas uma, mas várias
traits. É nisso que reside sua vantagem
em relação à herança. As traits necessárias para uso
na classe podem ser especificadas separadas por vírgula
após a palavra-chave use.
Vamos ver um exemplo. Suponha que temos duas traits. A primeira:
<?php
trait Helper1
{
private $name;
public function getName()
{
return $this->name;
}
}
?>
A segunda:
<?php
trait Helper2
{
private $age;
public function getAge()
{
return $this->age;
}
}
?>
Vamos usar nossas traits na classe:
<?php
class User
{
use Helper1, Helper2; // conectamos as traits
public function __construct($name, $age)
{
$this->name = $name;
$this->age = $age;
}
}
?>
Crie 3 traits com os nomes Trait1,
Trait2 e Trait3. Deixe que na primeira
trait haja um método method1, retornando
1, na segunda trait - um método method2,
retornando 2, e na terceira trait
- um método method3, retornando 3.
Deixe todos esses métodos como privados.
Crie uma classe Test, utilizando
todas as três traits que criamos. Crie nessa
classe um método público getSum,
que retorna a soma dos resultados dos métodos das
traits conectadas.