⊗ppOpMgStNEP 92 of 107 menu

Het lezen van niet-bestaande eigenschappen in OOP in PHP

Laten we proberen gegevens naar een niet-bestaande eigenschap te schrijven - dit zal werken:

<?php $test = new Test; $test->prop3 = 3; // schrijven we 3 echo $test->prop3; // geeft 3 weer ?>

Stel dat we niet willen toestaan dat er naar niet-bestaande eigenschappen wordt geschreven. En, in het algemeen, willen we alleen schrijven naar de eigenschappen prop1 en prop2 toestaan.

Dit is eenvoudig te doen - het is voldoende om in de methode __set de bijbehorende voorwaarde toe te voegen:

<?php class Test { private $prop1; private $prop2; public function __set($property, $value) { // Laten we een voorwaarde schrijven: if ($property == 'prop1' or $property == 'prop2') { $this->$property = $value; } } public function __get($property) { return $this->$property; } } ?>

Als er veel van dergelijke eigenschappen zijn, dan is het niet erg handig om ze allemaal in de voorwaarde op te sommen.

Laten we de toegestane eigenschappen om naar te schrijven in een array zetten en de aanwezigheid van de eigenschap in deze array controleren met de functie in_array:

<?php class Test { private $prop1; private $prop2; public function __set($property, $value) { $properties = ['prop1', 'prop2']; // toegestane eigenschappen if (in_array($property, $properties)) { $this->$property = $value; } } public function __get($property) { return $this->$property; } } ?>
Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren