php trait est une technologie de réutilisation de code qui fournit un mécanisme flexible de réutilisation de code pour la restriction d'héritage unique de PHP. Sa syntaxe d'utilisation est telle que "trait ezcReflectionReturnInfo {function getReturnType() {/*1* /}... }".
L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.1, ordinateur DELL G3
1.Quel est le trait en php ?
Cela ressemble à la fois à une classe et à une interface, mais en fait ce n'est ni l'un ni l'autre. Trait peut être considéré comme une implémentation partielle de la classe, qui peut être mélangée à une ou plusieurs classes PHP existantes. deux fonctions : indiquer ce que la classe peut faire ; Fournir une implémentation modulaire. Trait est une technologie de réutilisation de code qui fournit un mécanisme flexible de réutilisation de code pour la restriction d'héritage unique de PHP.
2. Exigences de la version PHP :
PHP5.4 a commencé à introduire des traits, dont le but est de réduire la duplication de code et d'augmenter la réutilisabilité du code.
3. Scénarios d'utilisation des traits :
Imaginez une situation comme celle-ci Lorsqu'une méthode doit être utilisée dans de nombreuses classes, comment la gérer ?
Habituellement, l'approche générale consiste à écrire une classe de base, à implémenter cette méthode dans la classe de base, puis toutes les classes héritent de cette classe de base.
C'est une façon de gérer ce problème, mais ce n'est pas la meilleure façon de le gérer. L'héritage est généralement utilisé lorsque plusieurs classes présentent de grandes similitudes. Par exemple, en tant que classe de base, les personnes, les étudiants, les travailleurs, etc. héritent de la classe de base « personne » à étendre.
De là, le rôle du trait ressort. Le trait peut être utilisé dans plusieurs classes.
4. Comment utiliser le trait :
Citant l'exemple dans le manuel PHP :
Exemple 1
<?php trait ezcReflectionReturnInfo { function getReturnType() { /*1*/ } function getReturnDescription() { /*2*/ } } class ezcReflectionMethod extends ReflectionMethod { use ezcReflectionReturnInfo; /* ... */ } class ezcReflectionFunction extends ReflectionFunction { use ezcReflectionReturnInfo; /* ... */ } ?>
1 Déclarez d'abord un trait ; 🎜>
2. Utiliser l'utilisation en classe pour présenter le trait. Est-ce très simple (évasion manuelle) ? Ce qu’il faut noter, c’est la priorité des traits. 5. Priorité du trait (Frappez au tableau) Les membres hérités de la classe de base seront remplacés par les membres insérés par le trait. L'ordre de priorité est que les membres de la classe actuelle remplacent les méthodes du trait et que le trait remplace les méthodes héritées. Priorité : méthode propre > méthode trait > méthode héritée (voici à quoi elle ressemble.) Regardez l'exemple<?php trait HelloWorld { public function sayHello() { echo 'Hello World!'; } } class TheWorldIsNotEnough { use HelloWorld; public function sayHello() { echo 'Hello Universe!'; } } $o = new TheWorldIsNotEnough(); $o->sayHello();//输出是 Hello Universe! ?>
<?php trait Hello { public function sayHello() { echo 'Hello '; } } trait World { public function sayWorld() { echo 'World'; } } class MyHelloWorld { use Hello, World; public function sayExclamationMark() { echo '!'; } } $o = new MyHelloWorld(); $o->sayHello(); $o->sayWorld(); $o->sayExclamationMark(); ?>
Tutoriel vidéo PHP"
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!