OVH Community, votre nouvel espace communautaire.

Appel à __toString() : automatique en PHP5 mais...


Vince38
10/02/2007, 15h34
Citation Envoyé par Nebu
La solution est de faire l'echo de cette maniere:
echo 'Une chaine ', $objet, 'Une autre chaine';
Super, ça marche comme ça!
Merci beaucoup.

Vincent

Nebu
08/02/2007, 12h01
Ca depend de comment est apellé $suivi->getInterlocuteur()
Si ma memoire est bonne la methode toString n'est apellé que lorsque l'echo n'effectue pas de concatenation du genre:

Cas ou elle n'est pas apellée:
echo 'Une chaine ' . $objet;
ou
echo "Une chaine $objet";
ou
echo (string)$objet;

La solution est de faire l'echo de cette maniere:
echo 'Une chaine ', $objet, 'Une autre chaine';

Vince38
05/02/2007, 21h42
Bonsoir à tous,

Je suis abonné à un plan90 depuis quelques semaines et j'utilise le framework symfony.

Je rencontre le problème suivant. Dans une page PHP, le code suivant:
$suivi->getInterlocuteur()
donne: Object id #121

Et le code suivant:
$suivi->getInterlocuteur()->__toString()
donne: Dupont

La déclaration dans la classe Interlocuteur:
class Interlocuteur extends BaseInterlocuteur {
public function __toString() {
return $this->getNom();
}


Quelqu'un pourrait-il me donner une explication?

Merci d'avance!

Vincent