⊗ppOpMgStNEP 92 of 107 menu

Neegzistuojančios savybės skaitymas OOP PHP

Pabandykime įrašyti duomenis į neegzistuojančią savybę - tai veiks:

<?php $test = new Test; $test->prop3 = 3; // įrašysime 3 echo $test->prop3; // išves 3 ?>

Tarkime, mes nenorime leisti įrašyti į neegzistuojančias savybes. Ir apskritai norime leisti įrašymą tik į savybes prop1 ir prop2.

Tai lengva padaryti - pakanka metode __set pridėti atitinkamą sąlygą:

<?php class Test { private $prop1; private $prop2; public function __set($property, $value) { // Parašykime sąlygą: if ($property == 'prop1' or $property == 'prop2') { $this->$property = $value; } } public function __get($property) { return $this->$property; } } ?>

Jei tokių savybių bus daug, tai nėra labai patogu visas jas išvardinti sąlygoje.

Įrašykime leidžiamas įrašymui savybes į masyvą ir tikrinsime savybės buvimą šiame masyve naudodami funkciją in_array:

<?php class Test { private $prop1; private $prop2; public function __set($property, $value) { $properties = ['prop1', 'prop2']; // leidžiamos savybės if (in_array($property, $properties)) { $this->$property = $value; } } public function __get($property) { return $this->$property; } } ?>
Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti