⊗ppOpMgTS 87 of 107 menu

Kaedah Ajaib toString dalam OOP dalam PHP

Kaedah ajaib pertama yang akan kita pelajari dipanggil __toString. Ia dipanggil apabila cuba menukar contoh (instance) kelas kepada rentetan (string). Mari kita fahami apa maksudnya. Katakan kita mempunyai kelas User seperti berikut:

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

Mari kita cipta objek kelas ini:

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

Sekarang mari kita cuba paparkan objek yang dicipta melalui echo:

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

Cubaan untuk memaparkan objek melalui echo adalah penukaran kepada rentetan. Dalam kes ini, PHP akan memaparkan ralat, kerana objek tidak boleh ditukar kepada rentetan secara terus.

Untuk menghilangkan ralat, kita perlu menyatakan dengan jelas kepada PHP, apa yang perlu dilakukan apabila cuba menukar objek kepada rentetan. Untuk tujuan itulah kaedah ajaib __toString wujud.

Jika kita membuat kaedah sedemikian dalam kod kelas kami, maka hasil kaedah ini (iaitu apa yang dipulangkannya melalui return) akan menjadi perwakilan rentetan bagi objek tersebut.

Katakan kita mahu, apabila cuba memaparkan objek melalui echo, nama pengguna dipaparkan. Ini bermakna kita perlu membuat kaedah __toString dan memulangkan nilai sifat name di dalamnya:

<?php class User { private $name; private $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; } // Kami melaksanakan kaedah yang dinyatakan: public function __toString() { return $this->name; } public function getName() { return $this->name; } public function getAge() { return $this->age; } } ?>

Mari kita uji:

<?php $user = new User('john', 25); echo $user; // akan memaparkan 'john' - semuanya berfungsi! ?>

Buat kelas User, di mana terdapat sifat name dan surn. Lakukan supaya apabila objek dipaparkan melalui echo pada skrin, rentetan dengan nama dan nama keluarga pengguna dipaparkan.

Melayu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan kuki untuk operasi laman web, analisis dan personalisasi. Pemprosesan data dijalankan mengikut Polisi Kerahsiaan.
terima semua tataletak tolak