⊗ppOpMgTS 87 of 107 menu

La méthode magique toString en POO en PHP

La première méthode magique que nous allons étudier s'appelle __toString. Elle est appelée lors d'une tentative de conversion d'une instance de classe en chaîne de caractères. Voyons ce que cela signifie. Supposons que nous ayons une classe User comme celle-ci :

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

Créons un objet de cette classe :

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

Maintenant, essayons d'afficher l'objet créé via echo :

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

Tenter d'afficher un objet via echo est une conversion en chaîne de caractères. Dans ce cas, PHP générera une erreur, car les objets ne peuvent pas être convertis en chaîne aussi simplement.

Pour supprimer l'erreur, nous devons indiquer explicitement à PHP quoi faire lors d'une tentative de conversion de l'objet en chaîne. C'est pour cela qu'existe la méthode magique __toString.

Si nous créons une telle méthode dans le code de notre classe, alors le résultat de cette méthode (c'est-à-dire ce qu'elle retourne via return) sera la représentation chaîne de l'objet.

Supposons que nous voulions que lors d'une tentative d'affichage de l'objet via echo, le nom de l'utilisateur soit affiché. Nous devons donc créer la méthode __toString et retourner la valeur de la propriété name :

<?php class User { private $name; private $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; } // Implémentons la méthode spécifiée : public function __toString() { return $this->name; } public function getName() { return $this->name; } public function getAge() { return $this->age; } } ?>

Vérifions :

<?php $user = new User('john', 25); echo $user; // affichera 'john' - tout fonctionne ! ?>

Créez une classe User, dans laquelle il y aura les propriétés name et surn. Faites en sorte que lors de l'affichage de l'objet via echo à l'écran, une chaîne avec le prénom et le nom de l'utilisateur soit affichée.

Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser