Y a-t-il en PHP un équivalent de la méthode ToString() en Java ?

Pour transformer une variable d'un type standard existant dans PHP en chaîne de caractères, on utilise le transtypage.

Le langage Java fournit la méthode toString(). Elle permet de convertir n'importe quel objet ou variable en chaîne de caractères et peut être surchargée dans les classes que l'on développe afin de définir la manière dont l'objet doit être converti. Dans le langage PHP, il est possible de faire la même chose.

Pour transformer une variable d'un type standard existant dans PHP en chaîne de caractères, on utilise le transtypage. Il suffit de préciser entre des parenthèses le type string lorsque l'on affiche une variable. Elle est automatiquement convertie en chaîne de caractères.

$maVariable = 2;
echo (string) $maVariable; //Affiche 2

Le transtypage a des résultats différents selon les types de variables. Il gère très bien les nombres de différents types (float, int, double,...). Pour un booléen, si sa valeur est true, on obtiendra 1 alors qu'on obtiendra une chaîne vide pour false. Pour la variable NULL, le transtypage donnera une chaîne vide.

Pour les objets plus complexes, le transtypage ne donne pas de résultat exploitable. Pour un tableau, la chaîne de caractères Array sera toujours affichée. Il faut plutôt utiliser les fonctions print_r() ou var_dump(). Pour les objets, la chaîne de caractères (Objet) sera toujours affichée, mais il existe une méthode pour modifier ce comportement.

Le langage PHP fournit la méthode magique __toString(). Cette méthode définit comment un objet de la classe est traité lorsqu'il est affiché comme une chaîne de caractères. En écrivant votre code dans cette méthode, vous pouvez changer la manière dont l'objet s'affiche lorsque vous utilisez par exemple la fonction echo.

class maClasse {
 public function __toString()
 {
 return 'Bonjour tout le monde';
 }
}
$monObjet = new maClasse();
echo $monObjet //Affiche Bonjour tout le monde

PHP