⊗ppOpMgGP 88 of 107 menu

Omaduste hankimine maagia abil OOP-s PHP-s

Järgmine maagiline meetod, mida me vaatame, on __get. See meetod käivitub, kui proovite lugeda private või protected omaduse väärtust.

Kui rakendada meetod __get mõnes klassis, siis kõik pöördumised olematute või peidetud omaduste poole töödeldakse selle meetodi abil.

Samal ajal edastab PHP automaatselt taotletud omaduse nime selle meetodi esimese parameetrina ja selle meetodi poolt tagastatud väärtust võetakse kui omaduse väärtust, mille poole pöörduti.

Tõenäoliselt pole veel väga selge, kuidas see töötab, nii et vaatame praktilist näidet. Oletame, et meil on selline klass Test private ja public omadustega:

<?php class Test { public $prop1 = 1; // avalik omadus private $prop2 = 2; // private omadus } ?>

Lisame oma klassi maagilise meetodi __get, mis alguses lihtsalt tagastab omaduse nime, mille poole pöörduti:

<?php class Test { public $prop1 = 1; private $prop2 = 2; public function __get($property) { return $property; // lihtsalt tagastame omaduse nime } } ?>

Kontrollime loodud maagilise meetodi tööd. Pöördume kolme tüüpi omaduste poole: avaliku omaduse, private omaduse ja olematu omaduse poole:

<?php $test = new Test; // Pöördume avaliku omaduse poole: echo $test->prop1; // väljastab 1 - see tähendab omaduse väärtuse // Pöördume private omaduse poole: echo $test->prop2; // väljastab 'prop2' - omaduse nimi // Pöördume olematu omaduse poole: echo $test->prop3; // väljastab 'prop3' - omaduse nimi ?>

Nagu näete, reageerib meie maagiline meetod pöördumistele private ja olematute omaduste poole, kuid ignoreerib pöördumisi avalike omaduste poole - need töötavad nii, nagu nad varem töötasid.

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