⊗ppOpMgTS 87 of 107 menu

A varázslatos toString metódus az OOP-ban PHP-ben

Az első varázslatos metódus, amelyet megismerünk, a __toString nevet viseli. Akkor hívódik meg, amikor egy osztály példányát karakterlánccá próbáljuk alakítani. Nézzük meg, mit is jelent ez. Tegyük fel, hogy adott a következő User osztály:

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

Hozzuk létre az osztály egy objektumát:

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

Most pedig próbáljuk meg kiírni a létrehozott objektumot a echo segítségével:

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

Az objektum echo-val való kiírásának kísérlete maga a karakterlánccá alakítás. Ebben az esetben a PHP hibaüzenetet fog kiadni, mivel egyszerűen az objektumok nem alakíthatók át így karakterlánccá.

Ahhoz, hogy a hibát megszüntessük, egyértelműen meg kell mondanunk a PHP-nak, mit tegyen, amikor egy objektumot karakterlánccá próbálnak alakítani. Erre szolgál a __toString varázslatos metódus.

Ha az osztályunk kódjában létrehozunk egy ilyen metódust, akkor ennek a metódusnak az eredménye (vagyis amit a return-nel visszaad) lesz az objektum karakterlánc reprezentációja.

Tegyük fel, hogy azt szeretnénk, hogy amikor az objektumot echo-val próbáljuk kiírni, a felhasználó neve jelenjen meg. Ezért készítsük el a __toString metódust és adjuk vissza benne a name tulajdonság értékét:

<?php class User { private $name; private $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; } // Megvalósítjuk a megadott metódust: public function __toString() { return $this->name; } public function getName() { return $this->name; } public function getAge() { return $this->age; } } ?>

Teszteljük:

<?php $user = new User('john', 25); echo $user; // kiírja 'john' - minden működik! ?>

Készítsen egy User osztályt, amelyben name és surn tulajdonságok lesznek. Állítsa be úgy, hogy amikor az objektumot echo-val írjuk ki a képernyőre, a felhasználó keresztneve és vezetékneve jelenjen meg.

Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás