⊗ppOpMgTS 87 of 107 menu

PHP Dasturlashda OOPda __toString sehrli metodi

Biz o'rganadigan birinchi sehrli metod __toString deb ataladi. U klass namunasini satrga o'tkazishga urinishda chaqiriladi. Keling, bu nima deganini aniqlashtiramiz. Aytaylik, bizda quyidagi User klassi mavjud:

<?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; } } ?>

Keling, ushbu klassning ob'ektini yaratamiz:

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

Endi yaratilgan ob'ektni echo orqali chiqarishga harakat qilaylik:

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

Ob'ektni echo orqali chiqarishga urinish satrga o'zgartirishdir. Bunday holatda PHP xatolik beradi, chunki oddiygina ob'ektlar satrga aylantirilmaydi.

Xatolikni olib tashlash uchun biz PHP ga ob'ektni satrga aylantirishga urinishda nima qilish kerakligini aniq aytishimiz kerak. Buning uchun __toString sehrli metodi mavjud.

Agar bizning klassimiz kodida bunday metod qilsak, ushbu metodning natijasi (ya'ni u return orqali qaytaradigan narsa) ob'ektning satrliq ifodasi bo'ladi.

Aytaylik, biz ob'ektni echo orqali chiqarishga urinishda, foydalanuvchi ismi chiqarilishini istaymiz. Demak, __toString metodini qilamiz va unda name xususiyatining qiymatini qaytaramiz:

<?php class User { private $name; private $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; } // Ko'rsatilgan metodni amalga oshiramiz: public function __toString() { return $this->name; } public function getName() { return $this->name; } public function getAge() { return $this->age; } } ?>

Keling tekshiramiz:

<?php $user = new User('john', 25); echo $user; // 'john' ni chiqaradi - hammasi ishlaydi! ?>

User klassini yarating, unda name va surn xususiyatlari bo'lsin. Ob'ekt echo orqali chiqarilganda ekranda foydalanuvchi ismi va familiyasi chiqadigan satr chiqishiga erishing.

Oʻzbek
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекTiếng Việt
Biz sayt ishlashi, tahlil qilish va shaxsiylashtirish uchun cookie-fayllardan foydalanamiz. Ma'lumotlarni qayta ishlash Maxfiylik siyosatiga muvofiq amalga oshiriladi.
hammasini qabul qilish sozlash rad etish