⊗ppOpTrMP 82 of 107 menu

Приоритет метода при раду са трејтовима у ООП у PHP

Ако у класи и у трејту постоји истоимени метод, онда ће метод класе прегазити метод трејта:

<?php trait TestTrait { // Метод са именом method: public function method() { return 'trait'; } } class TestClass { use TestTrait; // Исто такав метод са именом method: public function method() { return 'test'; } } $test = new TestClass; echo $test->method(); // исписаће 'test' - активирао се метод саме класе ?>

Ако сама класа нема такав метод, али постоји сукоб имена метода трејта и метода родитељске класе, онда методи трејта имају приоритет:

<?php trait TestTrait { // Метод са именом method: public function method() { return 'trait'; } } // Родитељска класа: class ParentClass { // Метод са именом method: public function method() { return 'parent'; } } // Класа наслеђује метод method од родитеља: class TestClass extends ParentClass { use TestTrait; } $test = new TestClass; echo $test->method(); // исписаће 'trait', јер трејт има приоритет ?>
Српски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј