⊗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
Біз сайттың жұмысы, аналитика және персонализация үшін cookie файлдарын қолданамыз. Деректерді өңдеу Құпиялылық саясаты бойынша жүреді.
барлығын қабылдау баптау қабылдамау