⊗ppOpMgTS 87 of 107 menu

PHP OOP-daky __toString sïhrli metodu

Öwrenerisimiz ilkinji sïhrli metod __toString diýilýär. Ol klassyň nusgasyny setire öwürmek synanyşygynyň üstünde çagyrylýar. Bu näme diýmekdigini düşüneli. Bizde ýöne ýaly User diýen klass bolsun:

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

Bu klassyň obýektini döredeli:

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

Indi bolsa döredilen obýekti echo arkaly çap etmäge synanyşalyň:

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

Obýekti echo arkaly çap etmäge synanyşmak, ony setire öwürmekdir. Bu ýagdaýda PHP ýalňyşlyk bildirer, sebäbi obýektler şeýle ýönekeý setire öwrilmeýär.

Ýalňyşlygy aýyrmak üçin, biz PHP-e, obýekti setire öwürmek synanyşylanda nämä etmelidigini aýdyşmaly. Munuň üçin __toString sïhrli metody bar.

Eger bizim klassyň kodunda şeýle bir metod bolsa, onda bu metodunyň nädijesi (ýagny, onuň return arkaly yzyna gaýtaran zat) obýektiň setir görnüşi bolar.

Göçüräýeli, obýekti echo arkaly çap etmäge synanyşylanda, ulanyjynyň adynyň çap edilmegini isleýäris. Şonuň üçin __toString metoduny edeliň we onuň içinde name aýratynlygynyň bahasyny yzyna gaýtaralyň:

<?php class User { private $name; private $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; } // Görkezilen metodi amala aşyralyň: public function __toString() { return $this->name; } public function getName() { return $this->name; } public function getAge() { return $this->age; } } ?>

Barlayalyň:

<?php $user = new User('john', 25); echo $user; // 'john' çap eder - hemme işleýär! ?>

name we surn aýratynlyklary bolan User klassyňyzy düzüň. Obýekti echo arkaly çap edende, ekranda ulanyjynyň adynyň we familiýasynyň ýazylyşy çap edilmegini üpjün ediň.

Türkmen
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkçeЎзбекOʻzbekTiếng Việt
Biz sahypanyň işlemegi, analitika we şahsyýetleşdirmek üçin cookie ulanýarys. Maglumatlaryň işlenişi Gizlinlik syýasaty boýunça amala aşyrylýar.
hemmesini kabul et sazlamak ret et