⊗ppOpMgTS 87 of 107 menu

Maģiskā metode toString OOP PHP

Pirmā maģiskā metode, kuru mēs izpētīsim, saucas __toString. Tā tiek izsaukta, mēģinot pārvērst klases instanci par virkni. Padomāsim, ko tas nozīmē. Pieņemsim, ka mums ir dota šāda klase 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; } } ?>

Izveidosim šīs klases objektu:

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

Un tagad mēģināsim izvadīt izveidoto objektu caur echo:

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

Mēģinājums izvadīt objektu caur echo ir pārvēršana par virkni. Šajā gadījumā PHP izvadīs kļūdu, jo vienkārši tādi objekti par virkni netiek pārveidoti.

Lai atbrīvotos no kļūdas, mums skaidri jānorāda PHP, ko darīt, mēģinot pārveidot objektu par virkni. Šim nolūkam eksistē maģiskā metode __toString.

Ja mūsu koda klasē izveido šādu metodi, tad šīs metodes rezultāts (tas, ko tā atgriezīs caur return) būs objekta virknes reprezentācija.

Pieņemsim, ka mēs vēlamies, lai mēģinot izvadīt objektu caur echo, tiktu izvadīts lietotāja vārds. Tad izveidosim metodi __toString un atgriezīsim tajā īpašības name vērtību:

<?php class User { private $name; private $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; } // Realizēsim norādīto metodi: public function __toString() { return $this->name; } public function getName() { return $this->name; } public function getAge() { return $this->age; } } ?>

Pārbaudīsim:

<?php $user = new User('john', 25); echo $user; // izvadīs 'john' - viss strādā! ?>

Izveidojiet klasi User, kurā būs īpašības name un surn. Iestatiet to tā, lai, izvadot objektu caur echo uz ekrāna, tiktu izvadīta virkne ar lietotāja vārdu un uzvārdu.

Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt