Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2
  1. #1
    Membre régulier
    Homme Profil pro
    Etudiant
    Inscrit en
    octobre 2011
    Messages
    301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : octobre 2011
    Messages : 301
    Points : 83
    Points
    83

    Par défaut Concurence fontion __toString()

    Bonjour à tous,

    j'expose mon code après je vous explique

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
     
     
    <?php
     
    class ClasseTest
    {
        public $foo;
     
        public function __construct($foo)
        {
            $this->foo = $foo;
        }
     
        public function __toString()
        {
            return $this->foo .= ' Deux';
        }
     
        public function affiche(){
     
    	return $this->foo .=' Trois';
     
       }
    }
     
    $class = new ClasseTest('Un');
    $class->affiche();
     
    echo $class;
     
    ?>
    Alors pour dans ma logique le résultat est 'Un Deux Trois' car quand on instancie l'objet il aura comme valeur 'Un' après l'appel auto de la fonction toString donc on aura 'Un Deux' après l'appel de ma méthode affiche est objet aura comme valeur 'Un Deux Trois' mais le résultat on vrai est 'Un Trois Deux'.

    Quelqu'un peur m'expliquer

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro Vincent
    Inscrit en
    juillet 2005
    Messages
    21 208
    Détails du profil
    Informations personnelles :
    Nom : Homme Vincent

    Informations forums :
    Inscription : juillet 2005
    Messages : 21 208
    Points : 30 884
    Points
    30 884

    Par défaut

    __toString() intervient quand tu traites ta class comme une chaine de caractère, donc quand tu fais le echo.

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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •