Problème d'accès aux attributs de ma classe

Résolu/Fermé
ephelya Messages postés 289 Date d'inscription mercredi 28 septembre 2011 Statut Membre Dernière intervention 20 juin 2023 - 23 avril 2013 à 13:21
ephelya Messages postés 289 Date d'inscription mercredi 28 septembre 2011 Statut Membre Dernière intervention 20 juin 2023 - 23 avril 2013 à 17:18
Bonjour,

J'ai un souci avec les objets $css d'une classe de styles qui contient une bonne cinquantaine d'attributs, mais je ne peux en récupérer que 10, pour les autres, ça m'affiche une valeur vide.
Lorsque je fais print_r($css), ça m'affiche bien toutes mes valeurs pour les cinquante attributs, mais lorsque je fais
 foreach ($css as $id => $val) { echo "$id = $val ";}
, ça ne me sort que les 10 derniers, quelqu'un a une idée d'où ça peut venir?
Je ne sais pas trop quoi vous donner comme code pour vous aider à chercher l'erreur, dites moi s'il vous faut quelque chose.
Merci d'avance pour votre aide !

8 réponses

gardiendelanuit Messages postés 1769 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 19 novembre 2016 264
23 avril 2013 à 13:49
Bonjour,

Donne nous la sortie de
echo "<pre>".print_r($css, true)."</pre>";
0
ephelya Messages postés 289 Date d'inscription mercredi 28 septembre 2011 Statut Membre Dernière intervention 20 juin 2023 2
23 avril 2013 à 13:51
Mieux que ça, ça me sort bien certaines variables en dehors des 10, mais pour les autres, rien à faire.
echo "<pre>".print_r ($css)."</pre>";

me donne
Styles Object
(
    [_aactivecolor:private] => 5
    [_acolor:private] => 5
    [_ahovercolor:private] => 5
    [_avisitedcolor:private] => 5
    [_backgroundcolor:private] => 
    [_backgroundimage:private] => 
    [_backgroundleft:private] => 
    [_backgroundtop:private] => l
    [_borderbottomcolor:private] => 5
    [_borderbottomtype:private] => 
    [_borderbottomwidth:private] => c
    [_borderleftcolor:private] => 5
    [_borderlefttype:private] => 
    [_borderleftwidth:private] => d
    [_borderrightcolor:private] => 5
    [_borderrighttype:private] => 
    [_borderrightwidth:private] => b
    [_bordertopcolor:private] => 5
    [_bordertoptype:private] => 
    [_bordertopwidth:private] => a
    [_boxshadowblur:private] => g
    [_boxshadowcolor:private] => 3
    [_boxshadowright:private] => f
    [_boxshadowtop:private] => e
    [_color:private] => 4
    [_elem1width:private] => 
    [_elem2width:private] => 
    [_fontfamily:private] => 0
    [_fontgroup:private] => 
    [_fontsize:private] => 90%
    [_formbordercolor:private] => 
    [_formborderstyle:private] => 
    [_formborderwidth:private] => 
    [_formcolor:private] => 
    [_formpadding:private] => 
    [_formwidth:private] => 
    [_h1color:private] => 5
    [_h1font:private] => 
    [_h1margin:private] => Array
    [_h1marginbot:private] => 
    [_h1margintop:private] => 
    [_h1size:private] => y
    [_h1weight:private] => v
    [_h2color] => 5
    [_h2margin:private] => Array
    [_h2marginbot:private] => 
    [_h2margintop:private] => 
    [_h2size] => z
    [_h2weight:private] => w
    [_h3color:private] => 
    [_h3font:private] => 5
    [_h3margin:private] => Array
    [_h3marginbot:private] => 
    [_h3size:private] => a
    [_h3weight:private] => x
    [_height:private] => b
    [_id:private] => 
    [_imgbordcolor:private] => 2
    [_imgbordround:private] => s
    [_imgbordwidth:private] => r
    [_imgkeyword:private] => t
    [_imgmaxheight:private] => p
    [_imgmaxwidth:private] => n
    [_imgminheight:private] => q
    [_imgminwidth:private] => o
    [_imgwidth:private] => m
    [_input1padding:private] => 
    [_input1round:private] => 
    [_input2padding:private] => 
    [_input2round:private] => 
    [_input3padding:private] => 
    [_input3round:private] => 
    [_inputbordercolor:private] => 0
    [_inputborderwidth:private] => j
    [_inputfontsize:private] => 
    [_inputheight:private] => i
    [_inputmarginright:private] => 
    [_inputsubmit1bgcolor:private] => 
    [_inputsubmit1bordercolor:private] => 3
    [_inputsubmit1borderwidth:private] => v
    [_inputsubmit1color:private] => 
    [_inputsubmit1height] => u
    [_inputsubmit1padding:private] => 
    [_inputsubmit1round:private] => 
    [_inputsubmit1width] => t
    [_inputsubmit2bgcolor:private] => 
    [_inputsubmit2bordercolor:private] => 2
    [_inputsubmit2borderwidth:private] => y
    [_inputsubmit2color:private] => 
    [_inputsubmit2height] => x
    [_inputsubmit2padding:private] => 
    [_inputsubmit2round:private] => 
    [_inputsubmit2width] => w
    [_inputsubmit3bgcolor:private] => 
    [_inputsubmit3bordercolor:private] => 5
    [_inputsubmit3borderwidth:private] => b
    [_inputsubmit3color:private] => 
    [_inputsubmit3height] => a
    [_inputsubmit3padding:private] => 
    [_inputsubmit3round:private] => 
    [_inputsubmit3width] => z
    [_inputsubmitfontsize:private] => 
    [_inputsubmitmarginright:private] => 
    [_inputwidth:private] => h
    [_labelbordercolor:private] => 2
    [_labelborderwidth:private] => p
    [_labelfontsize:private] => 
    [_labelheight:private] => o
    [_labelwidth:private] => n
    [_lineheight:private] => u
    [_marginbottom:private] => i
    [_marginleft:private] => j
    [_marginright:private] => h
    [_margintop:private] => g
    [_paddingbottom:private] => e
    [_paddingleft:private] => f
    [_paddingright:private] => d
    [_paddingtop:private] => c
    [_palette:private] => 69
    [_place:private] => 
    [_posbot:private] => 
    [_posleft:private] => 
    [_posright:private] => 
    [_postop:private] => 
    [_selectbordercolor:private] => 1
    [_selectborderwidth:private] => m
    [_selectheight:private] => l
    [_selectwidth:private] => k
    [_textareabordercolor:private] => 0
    [_textareaborderwidth:private] => 
    [_textareaheight:private] => r
    [_textareaweight:private] => 
    [_textareawidth:private] => q
    [_textdecoration:private] => none
    [_textdecorationa:private] => a:
    [_textdecorationaactive] => act
    [_textdecorationahover] => hov
    [_textdecorationavisited:private] => vis
    [_typforms:private] => 
    [_weight:private] => 
    [_width:private] => a
)


var_dump(get_object_vars($css));

me donne
array(10) { ["_textdecorationaactive"]=> string(3) "act" ["_textdecorationahover"]=> string(3) "hov" ["_h2size"]=> string(1) "z" ["_inputsubmit1width"]=> string(1) "t" ["_inputsubmit1height"]=> string(1) "u" ["_inputsubmit2width"]=> string(1) "w" ["_inputsubmit2height"]=> string(1) "x" ["_inputsubmit3width"]=> string(1) "z" ["_inputsubmit3height"]=> string(1) "a" ["_h2color"]=> string(1) "5" }


Mais echo $css -> Inputborderwidth(); ne me retourne aucune valeur, alors que echo $css -> Width(); m'affiche bien "a".

Ca me rend dingue!!!!!
0
ephelya Messages postés 289 Date d'inscription mercredi 28 septembre 2011 Statut Membre Dernière intervention 20 juin 2023 2
23 avril 2013 à 13:55
Pardon, gardiendelanuit, je n'avais pas vu ton message.
echo "<pre>".print_r ($css, true)."</pre>"; me donne le même résultat que echo "<pre>".print_r ($css)."</pre>"; affiché ci-dessus.
Une idée?
0
gardiendelanuit Messages postés 1769 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 19 novembre 2016 264
23 avril 2013 à 14:31
Tu as obtenue ça en faisant un serialize() ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ephelya Messages postés 289 Date d'inscription mercredi 28 septembre 2011 Statut Membre Dernière intervention 20 juin 2023 2
23 avril 2013 à 15:07
oui, j'ai fait un serialize pour enregistrer les infos en bdd
0
gardiendelanuit Messages postés 1769 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 19 novembre 2016 264
23 avril 2013 à 15:39
Quand tu fais un count dessus il te dit le même nombre?
0
ephelya Messages postés 289 Date d'inscription mercredi 28 septembre 2011 Statut Membre Dernière intervention 20 juin 2023 2
23 avril 2013 à 15:48
oui, pareil, ça m'affiche 10...
0
ephelya Messages postés 289 Date d'inscription mercredi 28 septembre 2011 Statut Membre Dernière intervention 20 juin 2023 2
23 avril 2013 à 15:51
je suis en train de reprendre toute la conception de ma classe, au cas où, parce que je l'ai tellement tripotée dans tous les sens que ça peut venir de là...
0
gardiendelanuit Messages postés 1769 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 19 novembre 2016 264
23 avril 2013 à 16:17
Ca parrait bizarre que ce soit une faiblesse de PHP de ce coté là, je te conseillerais peut-être de faire une méthode supplémentaire un tant soit peu similaire à un serialize mais en fonction de tes besoins.
Je continue d'explorer...
0
ephelya Messages postés 289 Date d'inscription mercredi 28 septembre 2011 Statut Membre Dernière intervention 20 juin 2023 2
23 avril 2013 à 17:18
Merci de ton aide, c'est très genti. J'ai réolu le problème en réécrivant toute ma classe, c'était peut être un pb de getters/setters, je ne sais pas trop. Bizarre vu que ça ne m'affichait pas de message d'erreur, mais en tout cas, tout fonctionne, enfin!!
Désolée de t'avoir fait perdre ton temps :-)
0