Convertir un objet en chaîne en PHP
-
Utilisez la méthode magique
__toString()
pour convertir un objet en chaîne en PHP -
Utilisez la fonction
serialize()
pour convertir un objet en chaîne en PHP -
Utilisez la fonction
print_r()
pour convertir un objet en une 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 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.
LinkedInArticle connexe - PHP Object
- Définir un objet vide en PHP
- Créer un objet par défaut à partir d'une valeur vide en PHP
- Créer un tableau d'objets en PHP
- Convertir un objet PHP en tableau associatif
- Créer un objet sans classe en PHP
Article connexe - PHP String
- Comment supprimer tous les espaces d'une chaîne de caractères en PHP
- Comment convertir la date et l'heure en chaîne de caractères en PHP
- Comment convertir une chaîne de caractères en date et en heure en PHP
- Comment convertir un entier en chaîne de caractères en PHP
- Comment convertir un tableau en chaîne de caractères en PHP
- Comment convertir une chaîne de caractères en un numéro en PHP