⊗ppOpMgStNEP 92 of 107 menu

Čítanie neexistujúcej vlastnosti v OOP v PHP

Skúsme zapísať dáta do neexistujúcej vlastnosti - bude to fungovať:

<?php $test = new Test; $test->prop3 = 3; // zapíšeme 3 echo $test->prop3; // vypíše 3 ?>

Povedzme, že nechceme povoliť zápis do neexistujúcich vlastností. A vo všeobecnosti chceme povoliť zápis len do vlastností prop1 a prop2.

To sa ľahko dosiahne - stačí v metóde __set pridať príslušnú podmienku:

<?php class Test { private $prop1; private $prop2; public function __set($property, $value) { // Napíšme podmienku: if ($property == 'prop1' or $property == 'prop2') { $this->$property = $value; } } public function __get($property) { return $this->$property; } } ?>

Ak by takýchto vlastností bolo veľa, nie je veľmi pohodlné vypisovať ich všetky v podmienke.

Uložme povolené vlastnosti pre zápis do poľa a budeme kontrolovať prítomnosť vlastnosti v tomto poli pomocou funkcie in_array:

<?php class Test { private $prop1; private $prop2; public function __set($property, $value) { $properties = ['prop1', 'prop2']; // povolené vlastnosti if (in_array($property, $properties)) { $this->$property = $value; } } public function __get($property) { return $this->$property; } } ?>
Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť