Групповые курсы: продвинутый JavaScript + React + Redux + Zustand + NextJS + TypeScript.
Цена: 400$. При записи до 6-го марта цена по СКИДКЕ:250$.
⊗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ščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить