Programmation Web Avancée

Blogue

Les cours

Les traits : une nouveauté de PHP 5.4


Rédigé par , le
Les traits offrent une méthode pour augmenter une classe, un peu comme le fait l'héritage. On peut, à l'aide de ceux-ci, ajouter des fonctions aux classes voulues. En d'autres mots, les traits peuvent être perçus comme des fragments de classe.

Voici un exemple simple de déclaration d'un trait, qui contient la méthode toString : 
trait TraitToString {

   // Affichage des variables d'une classe
   public function toString() {
      $class_vars = get_class_vars(get_class($this));

      foreach ($class_vars as $name => $value) {
          echo "$name : " . $this->$name . "; ";
      }
   }
}

 Pour l'intégrer dans une classe, on fait, par exemple : 
class User {
    use TraitToString;   // Insertion du trait

    private $firstName;
    private $lastName;

    public function __construct($firstName, $lastName) {
        $this->firstName = $firstName;
        $this->lastName = $lastName;
    }
}
 Ce qui ajoute la méthode toString à la classe User. 
$user = new User("Frederic", "Theriault");
$user->toString();
 
Dans l'exemple précédent, la fonction toString est greffée à la classe User. 
 
Ce qui est intéressant est que ce trait peut être utilisé dans plusieurs classes. Dans certains cas, ceci peut être une solution au fait que PHP ne supporte pas l'héritage multiple.

 
Les commentaires sur cet article
Par : Jean-Sébastien
2013-12-10 20:52:36

Ce qui est bien avec les traits, c'est surtout que ceux-ci peuvent être composé de plusieurs traits, et donc on peut facilement faire des traits complexes et offrant de multiples services, à partir de traits simple. Ça permet une très grande flexibilité et maintenance facile.

Ajouter votre commentaire
(facultatif)
(facultatif et non divulgé)
Captcha image
Prenez le nombre affiché et faites moins 1.
 
Blog  

Les articles


Pour envoyer une demande d'assistance à l'enseignant, cliquez ici