Convertir l'objet en chaîne php

Convertir l'objet en chaîne php
Pour tout langage de programmation orienté orienté, les concepts d'objets et de chaînes sont des éléments constitutifs fondamentaux. PHP s'appuie sur des objets et des chaînes pour offrir une flexibilité et des caractéristiques. Cet article expliquera comment convertir un objet PHP en une chaîne en utilisant diverses méthodes.

Utilisation de la fonction print_r ()

La première technique que nous pouvons utiliser pour convertir un objet en une chaîne est la fonction print_r. La fonction prend la valeur à imprimer et un paramètre de retour. Le paramètre de retour est une valeur booléenne.

Par exemple, pour convertir un objet en une chaîne à l'aide de la fonction print_r, nous pouvons fournir l'objet comme le premier paramètre (valeur à imprimer à l'écran) et un booléen vrai comme le deuxième paramètre.

La syntaxe de la fonction est comme indiqué:

print_r (valeur mixte $, bool $ return);

Par défaut, la valeur booléenne est définie sur false. Si cela n'est pas fourni, la fonction print_r imprimera la valeur de la variable fournie.

Prenons un exemple simple. Nous créerons une classe de voiture simple avec deux variables: le nom et le prix. Nous créerons un constructeur avec le nom et le prix comme paramètres et variables.

Enfin, nous créons un objet à partir de la classe de voiture et leur donnons des exemples de données pour le nom et le prix. Pour convertir l'objet en une chaîne, nous utiliserons la fonction print_r comme indiqué dans l'exemple ci-dessous:

CLASSE CAR
Nom $ protégé;
Prix ​​de $ protégé;
fonction publique __construct ($ name, $ prix)
$ this-> name = $ name;
$ this-> prix = $ prix;


$ myCar = new Car ("Ford", 25000);
$ obj_str = print_r ($ myCar, true);
echo $ obj_str;
?>

Une fois que vous avez exécuté l'exemple ci-dessus, vous devriez voir et sortir avec l'objet converti en une chaîne.

PHP Magic Methods (_ToString ())

La deuxième technique que nous pouvons utiliser pour convertir un objet en une chaîne est la fonction _toString (). Cette fonction est définie comme faisant partie de la fonction magique PHP. La fonction _toString () n'accepte aucun argument et a une valeur de retour de chaîne.

L'exemple suivant montre comment utiliser la fonction pour renvoyer un objet en tant que chaîne.

CLASSE CAR
Nom $ privé;
Prix ​​de $ privé;
fonction publique __construct ($ name, $ prix)
$ this-> name = $ name;
$ this-> prix = $ prix;

fonction publique __toString ()
retourner "Modèle de voiture $ this-> nom. Prix ​​$ this-> prix ";


$ myCar = new Car ("Ford", "25000");
Echo $ myCar;
?>

L'exemple ci-dessus est étroitement identique à la précédente. Cependant, nous utilisons la méthode __tostring pour convertir l'objet en une chaîne. La sortie de l'exemple ci-dessus est comme indiqué:

Modèle de voiture Ford. Prix ​​25000

Si vous supprimez la méthode __toString () et essayez d'exécuter la commande ci-dessus, vous devriez voir une erreur comme:

Erreur fatale PHP: erreur non revêtue: l'objet de la voiture de classe n'a pas pu être converti en chaîne.

Fonction PHP Serialize ()

Voyons maintenant un moyen plus non conventionnel de convertir un objet en une chaîne. La méthode Serialize () convertit une valeur spécifiée en un rythme d'octet. Cette fonction est appropriée lorsque vous devez stocker une session. En utilisant la fonction sérialize (), nous pouvons passer l'objet et renvoyer une séquence d'octet.

Un exemple d'utilisation peut être affiché dans le code ci-dessous.

CLASSE CAR
private $ name = "Ford";
privé $ prix = "25000 $";
fonction publique qui_car ()
Echo "Modèle: $ this-> nom et prix: $ this-> prix", "\ n";


$ myCar = new Car;
$ myCar-> qui_car ();
$ serialized = serialize ($ myCar);
écho $ sérialisé;
?>

Une fois que nous exécutons le code ci-dessus, le code doit renvoyer une chaîne sérialisée comme indiqué:

Modèle: Ford et prix: 25000 $
O: 3: "Car": 2: S: 7: "* Name"; S: 4: "Ford"; S: 8: "* Price"; S: 6: "25000 $";

Fermeture

Ce tutoriel vous montre diverses façons de convertir un objet en une chaîne à l'aide de PHP. Gardez à l'esprit qu'il y a plus dans les fonctions que discutées dans ce tutoriel. Regardez dans la documentation pour en savoir plus.