acceder a une class __PHP_Incomplete_Class

Le
Etienne SOBOLE
salut.

lorsqu'on unserialize une class sans l'avoir défini on se retrouve avec un
objet de type
__PHP_Incomplete_Class

j'aimerai caster cette "objet' en SdtClass pour pouvoir y accéder mais je
n'y arrive point !!!

quelqu'un aurai une idée
merci
Etienne
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Francois Girault
Le #60974
lorsqu'on unserialize une class sans l'avoir défini on se retrouve avec un
objet de type
__PHP_Incomplete_Class

j'aimerai caster cette "objet' en SdtClass pour pouvoir y accéder mais je
n'y arrive point !!!

quelqu'un aurai une idée...


Je crois que c'est un vraiment comportement contre-nature qui peut
mettre en valeur un défaut de conception.

Il vaut mieux réfléchir à "pourquoi je n'ai pas la définition de cette
classe ?".

Si c'est pour uniquement récupérer des données, (et non les traitements
associés, aka poo ;) ), il vaut mieux sérialiser un tableau associatif.

mes 2 cents ...

--
FG

Gromitt
Le #60975
On 19 avr, 11:25, "Etienne SOBOLE"
salut.

lorsqu'on unserialize une class sans l'avoir défini on se retrouve avec un
objet de type
__PHP_Incomplete_Class

j'aimerai caster cette "objet' en SdtClass pour pouvoir y accéder mais je
n'y arrive point !!!


Bonjour,

J'imagine que ceci se produit lorsque tu manipules des sessions, si
tel est le cas :
il te manque la définition (le code) de ta classe sérialisée quand tu
restores ta session.

Solution : inclus tes classes requises avant de démarrer ta session
(je pense qu'avec PHP5, __autoload() peut t'éviter ce désagrément).
Sinon, avec les méthodes magiques __sleep() et __wakeup() tu peux
automatiser la sérialisation de tes objets lorsque nécessaire.

--
Gromitt

Etienne SOBOLE
Le #60657
En fait il est clair que si j'inclu la classe il n'y a pas de problème.
ce que je cherche a faire c'est justement accèder au élements de mon objet
(ou de ma structure puisque ce n'est que cela)
sans inclure la class.

pourquoi je veux faire ca ?
ben tout simplement parce que je récupère des données serialisée provenant
dune classe donc je n'ai pas la definition.
alors je précise que si je fait juste un

class maclasse
{
}

ca fonctionne, mais les objets sérialisés que je récupère proviennent de
diverse classe.
enfin bref. tout ce que je veux moi c'est juste accéder a ces données.

un foreach($obj AS $key => $value) fonctionne et me parcourt tout l'objet
alors pourquoi un simple $obj->atrribut ou meme $obj['attribut'] ne
fonctionne pas !!!

Etienne
Publicité
Poster une réponse
Anonyme