IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[POO] les mystères du __toString()


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de Herode
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2005
    Messages
    825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2005
    Messages : 825
    Points : 933
    Points
    933
    Par défaut [POO] les mystères du __toString()
    La question m'étant revenue à l'esprit sur un autre fil, j'en profite. Voici ce qui m'inquiète avec cette fonction magique : si je prends l'exemple de la doc PHP pour cette fonction en y ajoutant deux autres echos :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    class ClasseTest
    {
       public $foo;
       public function __construct($foo) {
           $this->foo = $foo;
       }
       public function __toString() {
           return $this->foo;
       }
    }
    $class = new ClasseTest('Bonjour');
    echo $class;
    echo "<br/>$class";
    echo '<br/>'.$class;
    Ca me donne comme sortie :
    Bonjour
    Object id #1
    Object id #1
    Le premier est correct, les deux autres appellent le __toString() de base et non ma version surchargée.

    Quelqu'un a-t-il une explication ?????

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 448
    Points : 2 284
    Points
    2 284
    Par défaut
    Salut,

    Ce n'est pas très claire dit dans la doc, mais cette méthode n'est pas appelé lors de concaténation avec des chaines de caractères pour php < 5.2.

    Avec PHP 5.2, ton exemple affiche bien trois fois bonjour.

    Bye

  3. #3
    Membre éprouvé Avatar de Herode
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2005
    Messages
    825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2005
    Messages : 825
    Points : 933
    Points
    933
    Par défaut
    Haaaa, bonne nouvelle. Je sens que je vais forcer un peu pour l'upgrade, alors

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [POO] Les mystères de l'attribut protected
    Par Lawyer666 dans le forum C++
    Réponses: 6
    Dernier message: 30/10/2008, 12h51
  2. [POO] Les attributs d'une classe ?
    Par Metallic-84s dans le forum Langage
    Réponses: 1
    Dernier message: 10/03/2007, 19h42
  3. les mystères d'access
    Par Jeffboj dans le forum Access
    Réponses: 4
    Dernier message: 02/05/2006, 15h17
  4. [POO] Les structures de données comme en C++...
    Par FrankOVD dans le forum Langage
    Réponses: 3
    Dernier message: 27/04/2006, 19h44
  5. Réponses: 3
    Dernier message: 23/08/2004, 17h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo