⊗ppOpMgGNE 90 of 107 menu

Att läsa icke-existerande egenskaper i OOP i PHP

I exemplet som gavs i föregående lektion använde vi magin med metoden __get för att fånga upp försök till åtkomst av privata egenskaper. I verkligheten kan denna metod också vara användbar för att fånga upp försök till åtkomst av icke-existerande egenskaper.

Låt oss titta på ett praktiskt exempel. Antag att vi har klassen User med efternamn och förnamn som publika egenskaper:

<?php class User { public $surn; public $name; } ?>

Låt oss göra så att objektet av klassen uppför sig som om det också har en egenskap full, som visar användarens för- och efternamn. Vi använder vår magiska metod __get för detta:

<?php class User { public $surname; public $name; public $patronymic; public function __get($property) { if ($property == 'full') { return $this->surn . ' ' . $this->name; } } } ?>

Låt oss testa:

<?php $user = new User; $user->surn = 'john'; $user->name = 'smit'; echo $user->full; // skriver ut 'john smit' ?>

Skapa klassen Date med publika egenskaper year, month och day. Med hjälp av magi, skapa egenskapen weekDay, som ska returnera veckodagen som motsvarar datumet.

Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa