⊗ppOpTrMP 82 of 107 menu

Priorité des méthodes lors de l'utilisation de traits en POO en PHP

Si une classe et un trait ont une méthode homonyme, alors la méthode de la classe remplacera la méthode du trait :

<?php trait TestTrait { // Méthode nommée method : public function method() { return 'trait'; } } class TestClass { use TestTrait; // Méthode du même nom method : public function method() { return 'test'; } } $test = new TestClass; echo $test->method(); // affichera 'test' - la méthode de la classe a fonctionné ?>

Si la classe elle-même n'a pas une telle méthode, mais qu'il y a un conflit de noms entre les méthodes du trait et les méthodes de la classe parente, alors les méthodes du trait ont la priorité :

<?php trait TestTrait { // Méthode nommée method : public function method() { return 'trait'; } } // Classe parente : class ParentClass { // Méthode nommée method : public function method() { return 'parent'; } } // La classe hérite de la méthode method du parent : class TestClass extends ParentClass { use TestTrait; } $test = new TestClass; echo $test->method(); // affichera 'trait', car le trait a la priorité ?>
Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser