Bonjour,
J'ai une classe OptListOption qui comme son nom l'indique sert à créer les options d'une liste. Ma méthode toString ne donne pas le résultat escompté, pourtant les éléments constitutifs sont bons. Il y a sûrement une erreur qui devrait me sauter aux yeux mais je ne la trouve pas.
La série de var_dump() donne ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 public function __toString() { $strAttributes = ' '; foreach ($this->attributes as $attrName=>$attrValue) { $strAttributes .= "$attrName=>'$attrValue'"; } var_dump($this->value); var_dump(rtrim($strAttributes)); var_dump($this->text); return sprintf( '<option%s%s>%s</option>', sprintf( " value='%s'", $this->value), rtrim($strAttributes), $this->text ); }Lorsqu'il y a un attribut, le texte de la liste d'options contient l'attribut dans le texte comme ceci:C:\wamp64\www\hotels\classes\moimp\OptListOption.php:128:string '' (length=0)
C:\wamp64\www\hotels\classes\moimp\OptListOption.php:129:string ' label=>'toto'' (length=14)
C:\wamp64\www\hotels\classes\moimp\OptListOption.php:130:string '' (length=0)
C:\wamp64\www\hotels\classes\moimp\OptListOption.php:128:string 'id1' (length=3)
C:\wamp64\www\hotels\classes\moimp\OptListOption.php:129:string ' selected=>'selected'' (length=21)
C:\wamp64\www\hotels\classes\moimp\OptListOption.php:130:string 'choix 1' (length=7)
C:\wamp64\www\hotels\classes\moimp\OptListOption.php:128:string 'id2' (length=3)
C:\wamp64\www\hotels\classes\moimp\OptListOption.php:129:string '' (length=0)
C:\wamp64\www\hotels\classes\moimp\OptListOption.php:130:string 'choix 2' (length=7)
'selected'>choix 1
Partager