⊗ppOpTrMP 82 of 107 menu

Meetodite prioriteet traitidega töötamisel OOP-s PHP-s

Kui klassis ja traitis on sama nimega meetod, siis klassi meetod kirjutab üle trait'i meetodi:

<?php trait TestTrait { // Meetod nimega method: public function method() { return 'trait'; } } class TestClass { use TestTrait; // Sama meetod nimega method: public function method() { return 'test'; } } $test = new TestClass; echo $test->method(); // väljastab 'test' - töötas klassi enda meetod ?>

Kui klassil endal sellist meetodit pole, kuid on olemas trait'i meetodite ja vanemaklassi meetodite nimetuste konflikt, siis trait'i meetoditel on prioriteet:

<?php trait TestTrait { // Meetod nimega method: public function method() { return 'trait'; } } // Vanemaklass: class ParentClass { // Meetod nimega method: public function method() { return 'parent'; } } // Klass pärib meetodi method vanemalt: class TestClass extends ParentClass { use TestTrait; } $test = new TestClass; echo $test->method(); // väljastab 'trait', sest trait'il on prioriteet ?>
Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu