Utilisation de plusieurs traits en POO en PHP
Dans une classe, vous pouvez utiliser non pas un, mais plusieurs
traits. C'est en cela que réside leur avantage
par rapport à l'héritage. Les traits nécessaires à l'utilisation
dans la classe peuvent être indiqués séparés par des virgules
après le mot-clé use.
Regardons un exemple. Supposons que nous ayons deux traits. Le premier :
<?php
trait Helper1
{
private $name;
public function getName()
{
return $this->name;
}
}
?>
Le second :
<?php
trait Helper2
{
private $age;
public function getAge()
{
return $this->age;
}
}
?>
Utilisons nos traits dans une classe :
<?php
class User
{
use Helper1, Helper2; // connecter les traits
public function __construct($name, $age)
{
$this->name = $name;
$this->age = $age;
}
}
?>
Créez 3 traits portant les noms Trait1,
Trait2 et Trait3. Que le premier
trait ait une méthode method1 renvoyant
1, le deuxième trait - une méthode method2,
renvoyant 2, et le troisième trait
- une méthode method3 renvoyant 3.
Que toutes ces méthodes soient privées.
Créez une classe Test utilisant
les trois traits que nous avons créés. Créez dans
cette classe une méthode publique getSum,
renvoyant la somme des résultats des méthodes des traits connectés.