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

Résolu
ephelya Messages postés 282 Date d'inscription   Statut Membre Dernière intervention   -  
ephelya Messages postés 282 Date d'inscription   Statut Membre Dernière intervention   -
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 !

A voir également:

8 réponses

gardiendelanuit Messages postés 1770 Date d'inscription   Statut Membre Dernière intervention   264
 
Bonjour,

Donne nous la sortie de
echo "<pre>".print_r($css, true)."</pre>";
0
ephelya Messages postés 282 Date d'inscription   Statut Membre Dernière intervention   2
 
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 282 Date d'inscription   Statut Membre Dernière intervention   2
 
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 1770 Date d'inscription   Statut Membre Dernière intervention   264
 
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 282 Date d'inscription   Statut Membre Dernière intervention   2
 
oui, j'ai fait un serialize pour enregistrer les infos en bdd
0
gardiendelanuit Messages postés 1770 Date d'inscription   Statut Membre Dernière intervention   264
 
Quand tu fais un count dessus il te dit le même nombre?
0
ephelya Messages postés 282 Date d'inscription   Statut Membre Dernière intervention   2
 
oui, pareil, ça m'affiche 10...
0
ephelya Messages postés 282 Date d'inscription   Statut Membre Dernière intervention   2
 
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 1770 Date d'inscription   Statut Membre Dernière intervention   264
 
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 282 Date d'inscription   Statut Membre Dernière intervention   2
 
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