⊗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çeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш