⊗ppOpMgStNEP 92 of 107 menu

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

Să încercăm să scriem date într-o proprietate inexistentă - acest lucru va funcționa:

<?php $test = new Test; $test->prop3 = 3; // vom scrie 3 echo $test->prop3; // va afișa 3 ?>

Să presupunem că nu vrem să permitem scrierea în proprietăți inexistente. Și, în general, vrem să permitem scrierea doar în proprietățile prop1 și prop2.

Acest lucru este ușor de făcut - este suficient să adăugăm condiția corespunzătoare în metoda __set:

<?php class Test { private $prop1; private $prop2; public function __set($property, $value) { // Să scriem condiția: if ($property == 'prop1' or $property == 'prop2') { $this->$property = $value; } } public function __get($property) { return $this->$property; } } ?>

Dacă vor fi multe astfel de proprietăți, atunci nu este foarte convenabil să le enumerăm pe toate în condiție.

Să scriem proprietățile permise pentru scriere într-un array și să verificăm prezența proprietății în acest array cu ajutorul funcției in_array:

<?php class Test { private $prop1; private $prop2; public function __set($property, $value) { $properties = ['prop1', 'prop2']; // proprietăți permise if (in_array($property, $properties)) { $this->$property = $value; } } public function __get($property) { return $this->$property; } } ?>
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