⊗ppOpMgStNEP 92 of 107 menu

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
Біз сайттың жұмысы, аналитика және персонализация үшін cookie файлдарын қолданамыз. Деректерді өңдеу Құпиялылық саясаты бойынша жүреді.
барлығын қабылдау баптау қабылдамау