⊗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 файлдарын колдонобуз. Маалыматтарды иштетүү Маалыматты коргоо саясаты боюнча жүргүзүлөт.
баарын кабыл алуу ыңгайлаштыруу четке кагуу