⊗ppOpMgTS 87 of 107 menu

Magische methode toString in OOP in PHP

De eerste magische methode die we zullen bestuderen, heet __toString. Hij wordt aangeroepen bij een poging een instantie van een klasse naar een string te converteren. Laten we eens kijken wat dit betekent. Stel we hebben de volgende klasse 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; } } ?>

Laten we een object van deze klasse aanmaken:

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

En laten we nu proberen het gemaakte object weer te geven via echo:

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

Een poging om een object weer te geven via echo is een conversie naar een string. In dit geval zal PHP een fout geven, omdat objecten niet zomaar naar een string geconverteerd kunnen worden.

Om de fout op te lossen, moeten we expliciet tegen PHP zeggen wat het moet doen bij een poging om een object naar een string te converteren. Hiervoor bestaat de magische methode __toString.

Als we zo'n methode in onze klasse implementeren, dan zal het resultaat van deze methode (dat wil zeggen, wat hij teruggeeft via return) de stringrepresentatie van het object zijn.

Stel we willen dat bij een poging het object weer te geven via echo, de naam van de user wordt getoond. Dan maken we de methode __toString en retourneren we daarin de waarde van de eigenschap name:

<?php class User { private $name; private $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; } // Implementeren van de gespecificeerde methode: public function __toString() { return $this->name; } public function getName() { return $this->name; } public function getAge() { return $this->age; } } ?>

Laten we het testen:

<?php $user = new User('john', 25); echo $user; // geeft 'john' weer - het werkt! ?>

Maak een klasse User, met daarin de eigenschappen name en surn. Zorg ervoor dat bij het weergeven van het object via echo op het scherm een string met de voornaam en achternaam van de gebruiker wordt weergegeven.

Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren