⊗ppOpMgSP 91 of 107 menu

PHP හි OOP හි දේපල ලිවීමේ මැජික්

මැජික් ක්‍රමය __set කැඳවනු ලබන්නේ පවතින නොවන හෝ සැඟවුණු දේපලක අගය වෙනස් කිරීමට උත්සාහ කරන විට ය. පරාමිති ලෙස එය දේපලේ නම සහ එයට ආරෝපණය කිරීමට උත්සාහ කරන අගය ලබා ගනී.

අපි ප්‍රායෝගික උදාහරණයක් බලමු. අපට Test යන පන්තිය ලබා දී ඇතැයි සිතමු:

<?php class Test { private $prop1; private $prop2; } ?>

මෙම පන්තිය තුළ අපි මැජික් ක්‍රමය __set සාදන්න, එය ශ්‍රිතය භාවිතා කරමින් var_dump දේපලේ නම ප්‍රතිදානය කරනු ඇත, යොමුවක් සිදු වූ සහ අගය, මෙම දේපල සැකසීමට උත්සාහ කරයි:

<?php class Test { private $prop1; private $prop2; public function __set($property, $value) { var_dump($property . ' ' .$value); } } ?>

අපගේ පන්තියේ ක්‍රියාකාරිත්වය පරීක්ෂා කරමු:

<?php $test = new Test; $test->prop = 'value'; // __set ක්‍රමයේ var_dump 'prop value' ප්‍රතිදානය කරයි ?>

දැන් අපි අගය සැකසීමට පටන් ගනිමු දේපල, එහි නම විචල්‍යයේ ගබඩා කර ඇත $property:

<?php class Test { private $prop1; private $prop2; public function __set($property, $value) { $this->$property = $value; // අගය සැකසන්න } } ?>

දැන් අපට පෞද්ගලික දේපල වලට ලිවිය හැකිය පන්තියෙන් පිටත:

<?php $test = new Test; $test->prop1 = 1; // 1 ලියන්න $test->prop2 = 2; // 2 ලියන්න ?>

අපට ලිවිය හැකි නමුත්, එය ලියා ඇත්දැයි පරීක්ෂා කරන්න එහි යමක් තිබේද - නැත, මන්ද දේපල පෞද්ගලික බැවින්.

මෙම දේපල සඳහා ගෙට්ටර් එකක් සෑදිය හැකිය හෝ සරලව මැජික් ක්‍රමය භාවිතා කරන්න __get. අපි දෙවන විකල්පය භාවිතා කරමු:

<?php class Test { private $prop1; private $prop2; public function __set($property, $value) { $this->$property = $value; } // දේපල සඳහා මැජික් ගෙට්ටර්: public function __get($property) { return $this->$property; } } ?>

දැන් අපට අපගේ පන්තියේ ක්‍රියාකාරිත්වය පරීක්ෂා කළ හැකිය. පරීක්ෂා කරමු:

<?php $test = new Test; $test->prop1 = 1; // 1 ලියන්න $test->prop2 = 2; // 2 ලියන්න echo $test->prop1; // 1 ප්‍රතිදානය කරයි echo $test->prop2; // 2 ප්‍රතිදානය කරයි ?>

ඇත්ත වශයෙන්ම, ඇත්ත වශයෙන්ම, අවසර දිය යුතු නොවේ සියල්ලටම පෞද්ගලික දේපල වලට ලිවීමට, එසේ නොමැතිනම් මෙම පෞද්ගලික දේපලවල සාරය නැති වේ (ඒවා පොදු කිරීම සහ සියල්ල සරල කිරීම).

එමනිසා මෙම ක්‍රමය භාවිතා කළ යුත්තේ පමණි ඇත්තෙන්ම අවශ්‍යතාවයක් ඇති විට. ඊළඟ පාඩම් වලදී අපි තවත් උදාහරණ සලකා බලමු සාර්ථක යෙදුම.

සිංහල
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
අපි වෙබ් අඩවිය ක්‍රියාත්මක කිරීම, විශ්ලේෂණය සහ පුද්ගලීකරණය සඳහා කුකී භාවිතා කරමු. දත්ත සැකසීම සිදුකරනු ලබන්නේ ගෝපනීයතා ප්‍රතිපත්තිය අනුව ය.
සියල්ල පිළිගන්න කොන්දේසි ප්‍රතික්ෂේප කරන්න