⊗ppOpMgTS 87 of 107 menu

Магічны метад toString у ААП у PHP

Першы магічны метад, які мы вывучым, называецца __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 для працы сайта, аналітыкі і персаналізацыі. Апрацоўка дадзеных адбываецца згодна Палітыкай канфідэнцыяльнасці.
прыняць усе наладзіць адхіліць