⊗ppOpMgTS 87 of 107 menu

PHP OOP හි toString මැජික් ක්‍රමය

අපි අධ්‍යයනය කරන පළමු මැජික් ක්‍රමය හැඳින්වෙන්නේ __toString ය. පංතියක උදාහරණයක් තන්තුවකට පරිවර්තනය කිරීමට උත්සාහ කරන විට එය හඳුන්වනු ලැබේ. මෙයින් අදහස් කරන්නේ කුමක්දැයි අපි සොයා බලමු. අපට User යනුවෙන් පංතියක් ලබා දී ඇතැයි සිතමු:

<?php class User { private $name; private $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; } public function getName() { return $this->name; } public function getAge() { return $this->age; } } ?>

මෙම පංතියේ වස්තුවක් නිර්මාණය කරමු:

<?php $user = new User('john', 25); ?>

දැන් නිර්මාණය කළ වස්තුව echo හරහා මුද්‍රණය කිරීමට උත්සාහ කරමු:

<?php $user = new User('john', 25); echo $user; ?>

echo හරහා වස්තුවක් මුද්‍රණය කිරීමට උත්සාහ කිරීම තන්තුවකට පරිවර්තනය කිරීමයි. මෙම නඩුවේදී PHP දෝෂයක් දක්වනු ඇත, මන්ද සරලව වස්තු තන්තුවලට පරිවර්තනය නොවේ.

දෝෂය ඉවත් කිරීම සඳහා, අපි අවශ්‍යයෙන්ම PHP වෙත පැවසිය යුතුය, වස්තුවක් තන්තුවකට පරිවර්තනය කිරීමට උත්සාහ කරන විට කුමක් කළ යුතුද යන්න. මේ සඳහායි මැජික් ක්‍රමය __toString පවතින්නේ.

අපගේ පංති කේතයේ එවැනි ක්‍රමයක් සාදන්නේ නම්, මෙම ක්‍රමයේ ප්‍රතිඵලය (එනම්, එය return හරහා ආපසු ලබා දෙන දේ) වස්තුවේ තන්තු නිරූපණය වනු ඇත.

අපිට අවශ්‍ය යැයි සිතමු, echo හරහා වස්තුව මුද්‍රණය කිරීමට උත්සාහ කරන විට, පරිශීලකයාගේ නම මුද්‍රණය වේ. එබැවින් __toString ක්‍රමය සාදා එහි දේපලේ අගය name ආපසු ලබා දෙමු:

<?php class User { private $name; private $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; } // සඳහන් කළ ක්‍රමය ක්‍රියාත්මක කරමු: public function __toString() { return $this->name; } public function getName() { return $this->name; } public function getAge() { return $this->age; } } ?>

පරීක්ෂා කර බලමු:

<?php $user = new User('john', 25); echo $user; // 'john' මුද්‍රණය කරයි - සියල්ල ක්‍රියාත්මක වේ! ?>

User පංතියක් සාදන්න, එහි name සහ surn යන දේපල අඩංගු වේ. වස්තුව echo හරහා මුද්‍රණය කිරීමේදී පරිශීලකයාගේ නම සහ අන්වර්ථ නාමය සහිත තන්තුව මුද්‍රණය වන පරිදි සකස් කරන්න.

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