Maison  >  Article  >  développement back-end  >  Comment utiliser la fonctionnalité Trait pour implémenter l'héritage multiple en PHP ? (exemple de code)

Comment utiliser la fonctionnalité Trait pour implémenter l'héritage multiple en PHP ? (exemple de code)

青灯夜游
青灯夜游original
2019-02-22 11:20:563090parcourir

PHP ne prend pas en charge l'héritage multiple, mais vous pouvez utiliser des interfaces ou des attributs Trait pour utiliser l'héritage multiple. Dans l'article précédent [Comment PHP utilise-t-il les interfaces pour implémenter l'héritage multiple ? ] présente la méthode d'utilisation des interfaces pour implémenter l'héritage multiple. L'article suivant vous amènera à comprendre la fonctionnalité Trait et à présenter la méthode d'utilisation de la fonctionnalité Trait pour implémenter l'héritage multiple en PHP. J'espère que cela sera utile à tout le monde. .

Comment utiliser la fonctionnalité Trait pour implémenter l'héritage multiple en PHP ? (exemple de code)

Que sont les traits ?

Trait est un nouveau concept introduit dans PHP 5.4, qui supprime la limitation de l'héritage multiple en PHP. Avant PHP 5.4, PHP prenait en charge l'héritage unique et plusieurs interfaces, mais Traits supprimera la limitation de ne pas avoir d'héritage multiple. [Recommandation du didacticiel vidéo : Tutoriel PHP]

Traits est un mécanisme permettant de réutiliser du code dans des langages à héritage unique (tels que PHP). Son concept principal est la réutilisabilité du code. Les traits semblent être très utiles dans les langages qui ne prennent en charge que l'héritage unique comme PHP. Par conséquent, la principale raison d’utiliser des traits est de bénéficier des avantages de l’héritage multiple ou de la réutilisabilité du code.

Utiliser les fonctionnalités Trait pour implémenter l'héritage multiple

1. Utiliser les classes et les fonctionnalités Trait

. Modèle de phrase de base :

class child_class_name extends parent_class_name {
    use trait_name;
    ...
    ...
    child_class functions
}

Exemple de code :

<?php 
header("content-type:text/html;charset=utf-8");   
// Hello类
class Hello  { 
  public function sayhello() { 
     echo "<br>Hello"; 
  } 
} 
  
// Phpzww 特性
trait  Phpzww{ 
  public function sayfor() { 
     echo " php中文网"; 
  } 
} 
  
class Sample extends Hello { 
   use Phpzww; 
   public function demo() { 
      echo "<br><br>学习编程!"; 
  }  
} 
  
$test = new Sample(); 
$test->sayhello(); 
$test->sayfor(); 
$test->demo(); 
?>

Sortie :

Comment utiliser la fonctionnalité Trait pour implémenter lhéritage multiple en PHP ? (exemple de code)

Description du code :

Dans le code ci-dessus, les "traits" sont utilisés avec la classe parent. Il existe une classe appelée "Hello" qui contient la fonction sayhello() et un trait appelé "Phpzww" qui contient la fonction demo() et il existe une sous-classe appelée "Sample" et nous créons ceci. Un objet d'une classe nommée " test" et utilisez-le pour appeler toutes les fonctions des attributs de classe et de trait.

2. Utiliser plusieurs fonctionnalités de trait

Structure de phrase de base :

class child_class_name {
    use trait_name;
    ...
    ...
    child_class functions
}

Exemple de code :

<?php 
header("content-type:text/html;charset=utf-8");   
// 特性:Hello 
trait Hello{ 
  public function sayhello() { 
     echo "<br>Hello"; 
  } 
} 
  
// 特性:Phpzww
trait  Phpzww{ 
  public function sayfor() { 
     echo " php中文网!"; 
  } 
} 
  
class Sample { 
  use Hello; 
  use Phpzww; 
  public function Helloforphp() { 
      echo "<br><br>欢迎学习PHP!"; 
   }  
} 
  
$test = new Sample(); 
$test->sayhello(); 
$test->sayfor(); 
$test->Helloforphp(); 
?>

Sortie :

Comment utiliser la fonctionnalité Trait pour implémenter lhéritage multiple en PHP ? (exemple de code)

Dans le code ci-dessus, plusieurs attributs Trait sont utilisés pour implémenter l'héritage multiple. Il existe deux fonctionnalités nommées "Hello" et "Phpzww", qui contiennent respectivement les fonctions sayhello() et sayfor() ; il existe également une sous-classe "sample", qui contient la fonction Helloforphp(). Nous créons un objet de la classe nommé "test" et l'utilisons pour appeler toutes les fonctions de l'attribut traits.

Ce qui précède représente l’intégralité du contenu de cet article, j’espère qu’il sera utile à l’étude de chacun. Pour un contenu plus passionnant, vous pouvez prêter attention aux colonnes de didacticiels pertinentes du site Web PHP chinois ! ! !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn