Convertir un objet en chaîne en PHP

Subodh Poudel 30 janvier 2023
  1. Utilisez la méthode magique __toString() pour convertir un objet en chaîne en PHP
  2. Utilisez la fonction serialize() pour convertir un objet en chaîne en PHP
  3. Utilisez la fonction print_r() pour convertir un objet en une chaîne en PHP
Convertir un objet en chaîne en PHP

Ce tutoriel présente différentes méthodes pour convertir un objet en chaîne en PHP.

Utilisez la méthode magique __toString() pour convertir un objet en chaîne en PHP

Nous pouvons utiliser la méthode magique PHP __toString() pour convertir un objet en chaîne en PHP. Il existe certaines méthodes en PHP qui commencent par __, et PHP les réserve. Lorsque nous effectuons des actions spécifiques sur des objets, ces méthodes remplacent le comportement par défaut. Certaines des fonctions magiques sont __construct(), __destruct(), __isset(), __set(), __get(), etc. Nous pouvons utiliser la méthode __toString() pour émuler un objet à une chaîne. Ensuite, nous pouvons étudier le comportement de l’objet qui agit comme une chaîne. Avant PHP 8.0, la méthode __toString() devait toujours renvoyer une valeur de chaîne ; sinon, une erreur sera renvoyée. Cependant, PHP 8.0 forcera la valeur dans une chaîne si possible.

Par exemple, créez une classe Student et écrivez une variable $name comme propriété et donnez-lui un nom. Ensuite, écrivez la fonction __toString() et retournez la variable $name en utilisant le mot-clé $this. En dehors de la classe, créez un objet de la classe Student nommé $st. Maintenant, utilisez la fonction echo pour imprimer l’objet $st.

Dans la section de sortie, nous pouvons voir que le nom est affiché. Par conséquent, cela prouve que l’objet a été converti en une chaîne. La fonction echo est une fonction de chaîne, et nous avons imprimé la chaîne en l’utilisant. C’est ainsi que nous pouvons convertir un objet en chaîne en utilisant la méthode magique __toString().

Exemple de code :

<?php
class Student {
 protected $name = 'Jadon';
 public function __toString() {
 return $this->name;
 }
}
$st = new Student;
echo $st;
?>

Production:

Jadon

Utilisez la fonction serialize() pour convertir un objet en chaîne en PHP

La fonction serialize() en PHP convertit la valeur donnée en une représentation d’une chaîne de flux d’octets. Nous pouvons utiliser la fonction lorsque nous voulons stocker les données dans une session ou une base de données. Les objets peuvent être convertis en chaîne à l’aide de la fonction serialize(). La fonction renvoie une séquence de bits. Lorsque nous devons transférer des bits sur un réseau, la fonction est utilisée.

Par exemple, créez la même classe et la même variable membre que dans la première méthode. Ensuite, créez une fonction show(). Utiliser la fonction echo à l’intérieur de la fonction pour imprimer la variable $name en utilisant le mot-clé $this. En dehors de la fonction, créez un objet $st de la classe Student. Appelez la fonction show() avec l’objet $st. Utilisez ensuite la fonction serialize() sur l’objet $st et imprimez-le avec la fonction echo.

L’exemple ci-dessous génère une chaîne dans une séquence de bits. Ainsi, nous pouvons convertir un objet PHP en chaîne à l’aide de la fonction serialize().

Exemple de code :

<?php
class Student {
 protected $name = 'Jadon';
 public function show() {
 echo $this->name."<br>";
 }
}
$st = new Student;
$st->show();
$sr = serialize($st);
echo $sr;
?>

Production:

Jadon
O:7:"Student":1:{s:7:"*name";s:5:"Jadon";}

Utilisez la fonction print_r() pour convertir un objet en une chaîne en PHP

On peut aussi utiliser la fonction print_r() pour convertir un objet en chaîne en PHP. La fonction prend le premier paramètre comme valeur à imprimer et le deuxième paramètre comme paramètre de retour, une valeur booléenne. Nous pouvons fournir un objet comme premier paramètre et une valeur booléenne true comme deuxième paramètre pour renvoyer une chaîne. Le paramètre de retour est facultatif. La fonction print_r() imprimera la valeur de la variable fournie si le deuxième paramètre n’est pas fourni.

Par exemple, créez une classe Student avec deux variables membres, $name et $age. Créez un constructeur avec $name et $age comme paramètres et définissez les variables. En dehors de la classe, créez un objet $st et donnez les valeurs jadon et 21 comme arguments au constructeur. Ensuite, créez une autre variable $result et affectez-lui la fonction print_r(). Définissez le premier paramètre de la fonction comme $st et true comme deuxième paramètre. Enfin, utilisez la fonction echo pour imprimer le $result.

Lorsque nous définissons le paramètre de retour de la fonction print_r() sur true, alors la fonction a renvoyé la chaîne et l’a stockée dans la variable $result. Ainsi, nous pourrions imprimer la chaîne en utilisant la fonction echo. De cette façon, nous pouvons utiliser la fonction print_r() pour convertir l’objet en une chaîne en PHP.

Exemple de code :

class Student {
 protected $name;
 protected $age;
 public function __construct($name, $age) {
 $this->name =$name;
 $this->age = $age;
 }
}
$st = new Student("jadon", 21);
$result = print_r($st, true);
echo $result;
?>

Production:

Student Object ( [name:protected] => jadon [age:protected] => 21 )
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn

Article connexe - PHP Object

Article connexe - PHP String