⊗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 истифода мебарем. Коркарди маълумот мувофиқи Сиёсати махфият сурат мегирад.
ҳамаро қабул кардан танзим кардан рад кардан