⊗ppOpMgStNEP 92 of 107 menu

Lesen einer nicht vorhandenen Eigenschaft in OOP in PHP

Versuchen wir, Daten in eine nicht vorhandene Eigenschaft zu schreiben - das wird funktionieren:

<?php $test = new Test; $test->prop3 = 3; // schreiben wir 3 echo $test->prop3; // gibt 3 aus ?>

Nehmen wir an, wir möchten nicht erlauben, in nicht vorhandene Eigenschaften zu schreiben. Und überhaupt möchten wir das Schreiben nur in die Eigenschaften prop1 und prop2 erlauben.

Das ist einfach zu machen - es reicht aus, in der Methode __set die entsprechende Bedingung hinzuzufügen:

<?php class Test { private $prop1; private $prop2; public function __set($property, $value) { // Schreiben wir eine Bedingung: if ($property == 'prop1' or $property == 'prop2') { $this->$property = $value; } } public function __get($property) { return $this->$property; } } ?>

Wenn es viele solcher Eigenschaften gibt, ist es nicht sehr praktisch, sie alle in der Bedingung aufzulisten.

Lassen Sie uns die zum Schreiben erlaubten Eigenschaften in ein Array schreiben und das Vorhandensein der Eigenschaft in diesem Array mit der Funktion in_array überprüfen:

<?php class Test { private $prop1; private $prop2; public function __set($property, $value) { $properties = ['prop1', 'prop2']; // erlaubte Eigenschaften if (in_array($property, $properties)) { $this->$property = $value; } } public function __get($property) { return $this->$property; } } ?>
Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen