[php] petites interrogations sur (un)serialize

petites interrogations sur (un)serialize [php] - PHP - Programmation

Marsh Posté le 25-08-2003 à 19:56:02    

*pour peu que l'objet en question soit lui même fait d'objets, etc
 
 
Exemple :  
 
Emploi_du_temps est fait de Magasins, qui sont fait d'horraires_par_defaut et d'horraires_vendeurs
 
 
serialize fera bien une serialization en "profondeur" , "recursive" des objets ?
 
 
*php 4.2.0, d'apres la doc de nexen, sauvegarde les méthodes.
 
je souhaite stocker mes objets dans des bases de données.
 
en fait,  mes méthodes me seront utiles apres avoir réstauré / unserialize mes objets, mais si les méthodes sont un tantinet grosses en terme de code, cela ne risque-t-il pas de faire de la redondance de stockage, dans le sens ou les méthodes seraient a chaque fois stockées inutilement ?
 
question "tordue"
y aurait-il un moyen de ne pas stocker les méthodes, mais qu'elle  s soient "rajoutées" au unserialize ?
 
ou bien de toute facon le code des méthodes représente une portion infime d'espace.
 
merci des éclaircissements que vous pourrez m'apporter


Message édité par farib le 25-08-2003 à 19:56:42
Reply

Marsh Posté le 25-08-2003 à 19:56:02   

Reply

Marsh Posté le 25-08-2003 à 22:07:41    

Reply

Marsh Posté le 25-08-2003 à 22:43:02    

Je ne me suis jamais servi de ces fonctions, mais peut-être que tu devrais jeter un coup d'oeil à la doc du site php plutôt que celle de nexen, car il y a pas mal de commentaires :
 
http://be.php.net/serialize


---------------
Faux & usage de faux ¤ Machins roses ¤ ASCIImage ¤ HFR Enhance v0.8.6
Reply

Marsh Posté le 27-08-2003 à 17:43:14    

Serialize serialise bien en profondeur... Aucun problème la dessus. Mais en aucun cas elle ne stocke les méthode. Seuls les variables membres sont stockées avec leurs valeurs.
 
Lorsque tu "unserialize" il faut dans le même script (ou objet) faire un require de la classe pour que l'interpreteur PHP retrouve les méthodes.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed