⊗ppOpMgGNE 90 of 107 menu

Citirea proprietăților inexistente în OOP în PHP

În exemplul dat în lecția precedentă, am aplicat magia metodei __get pentru a intercepta accesarea proprietăților private. De fapt, această metodă poate fi utilă și pentru a intercepta accesările la proprietăți inexistente.

Să analizăm un exemplu practic. Să presupunem că avem clasa User cu numele și prenumele, care sunt proprietăți publice:

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

Să facem ca obiectul clasei se comporte ca și cum ar avea și proprietatea full, care afișează numele și prenumele utilizatorului. Vom folosi pentru aceasta metoda noastră magică __get:

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

Să testăm:

<?php $user = new User; $user->surn = 'john'; $user->name = 'smit'; echo $user->full; // va afișa 'john smit' ?>

Creați clasa Date cu proprietățile publice year, month și day. Folosind magia, creați proprietatea weekDay, care va returna ziua săptămânii corespunzătoare datei.

Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge