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

[Résolu/Fermé]
Signaler
Messages postés
262
Date d'inscription
mercredi 28 septembre 2011
Statut
Membre
Dernière intervention
22 mai 2021
-
Messages postés
262
Date d'inscription
mercredi 28 septembre 2011
Statut
Membre
Dernière intervention
22 mai 2021
-
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

Messages postés
1769
Date d'inscription
jeudi 20 décembre 2007
Statut
Membre
Dernière intervention
19 novembre 2016
256
Bonjour,

Donne nous la sortie de
echo "<pre>".print_r($css, true)."</pre>";
Messages postés
262
Date d'inscription
mercredi 28 septembre 2011
Statut
Membre
Dernière intervention
22 mai 2021
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!!!!!
Messages postés
262
Date d'inscription
mercredi 28 septembre 2011
Statut
Membre
Dernière intervention
22 mai 2021
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?
Messages postés
1769
Date d'inscription
jeudi 20 décembre 2007
Statut
Membre
Dernière intervention
19 novembre 2016
256
Tu as obtenue ça en faisant un serialize() ?
Messages postés
262
Date d'inscription
mercredi 28 septembre 2011
Statut
Membre
Dernière intervention
22 mai 2021
2
oui, j'ai fait un serialize pour enregistrer les infos en bdd
Messages postés
1769
Date d'inscription
jeudi 20 décembre 2007
Statut
Membre
Dernière intervention
19 novembre 2016
256
Quand tu fais un count dessus il te dit le même nombre?
Messages postés
262
Date d'inscription
mercredi 28 septembre 2011
Statut
Membre
Dernière intervention
22 mai 2021
2
oui, pareil, ça m'affiche 10...
Messages postés
262
Date d'inscription
mercredi 28 septembre 2011
Statut
Membre
Dernière intervention
22 mai 2021
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à...
Messages postés
1769
Date d'inscription
jeudi 20 décembre 2007
Statut
Membre
Dernière intervention
19 novembre 2016
256
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...
Messages postés
262
Date d'inscription
mercredi 28 septembre 2011
Statut
Membre
Dernière intervention
22 mai 2021
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 :-)