⊗ppOpMgStNEP 92 of 107 menu

არარსებული თვისების წაკითხვა OOP-ში PHP-ში

შევეცადოთ ჩავწეროთ მონაცემები არარსებულ თვისებაში - ეს იმუშავებს:

<?php $test = new Test; $test->prop3 = 3; // ჩავწეროთ 3 echo $test->prop3; // გამოიტანს 3 ?>

დავუშვათ, არ გვსურს დავუშვათ ჩაწერა არარსებულ თვისებებში. და, საერთოდ, გვსურს დავუშვათ ჩაწერა მხოლოდ prop1 და prop2 თვისებებში.

ეს მარტივად გასაკეთებელია - საკმარისია მეთოდში __set დავამატოთ შესაბამისი პირობა:

<?php class Test { private $prop1; private $prop2; public function __set($property, $value) { // დავწეროთ პირობა: if ($property == 'prop1' or $property == 'prop2') { $this->$property = $value; } } public function __get($property) { return $this->$property; } } ?>

თუ ამგვარი თვისებები ბევრი იქნება, მაშინ არც ისე მოსახერხებელია მათი ყველას ჩამოთვლა პირობაში.

ჩავწეროთ ჩაწერისთვის დაშვებული თვისებები მასივში და შევამოწმოთ თვისების არსებობა ამ მასივში ფუნქციის in_array დახმარებით:

<?php class Test { private $prop1; private $prop2; public function __set($property, $value) { $properties = ['prop1', 'prop2']; // დაშვებული თვისებები if (in_array($property, $properties)) { $this->$property = $value; } } public function __get($property) { return $this->$property; } } ?>
ქართული
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικά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
ვებსაიტის მუშაობის, ანალიტიკისა და პერსონალიზაციისთვის ვიყენებთ ქუქი-ფაილებს. მონაცემთა დამუშავება ხდება Კონფიდენციალურობის პოლიტიკის შესაბამისად.
ყველას მიღება პარამეტრები უარყოფა