Classe serializer : serialize() et unserialize() identiques à php

Soyez le premier à donner votre avis sur cette source.

Vue 14 453 fois - Téléchargée 839 fois

Description

La classe Serializer contient 2 fonction publiques :
serialize() et unserialize() identiques à php qui peuvent servirent à l'échange de données avec un fichier php

serialize : retourne une chaîne contenant une représentation linéaire d'une variable, pour stockage.
unserialize : prend une variable linéarisée et la convertit en variable (boolean, number, string, array ou object).

Exemple d'utilisation de cette source :
Vous voulez enregistrer un tableau Array de votre flash dans votre base de donnée. Il suffit de linéariser le tableau avec la fonction serialize() de la classe Serializer() et de l'envoyer à un fichier php qui l'enregistrera dans la base de donnée.
Pour récupérer le tableau, faite un fichier un php qui récupère la chaine linéarisée enregistrée dans la base, et qui l'envoi à la flash. Utilisez ensuite la fonction unserialize() de la classe Serializer pour récupérer le tableau.
De plus comme ces fonctions donnent les même résultats que celle de php, avant d'enregistrer la variable dans la base de donnée, un script php peut la délinéariser, la traiter (faire des vérifications par exemple) et la relinéariser.

J'espère que cette source vous servira à quelque chose et que j'ai que je l'ai assez commentée ;-)

Source / Exemple :


//Utilisation de la classe :
var serial:Serializer = new Serializer(); // On charge la classe Serializer

serial.serialize(variable); // renvoi variable linéarisée
serial.unserialize(chaine); // renvoi chaine délinéarisée

Conclusion :


Vala utilisez cette source comme il vous plaira, et n'hésiter pas à laisser un commentaire.
Si vous utilisez cette source, ça serait sympa de mettre un tout ptit lien vers http://www.murties.com sur votre site ;-)

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

pegase31
Messages postés
6161
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
6 -
c'est vraiment se compliquer la vie pour pas grand chose ...

Peg'
Skreo
Messages postés
53
Date d'inscription
samedi 12 novembre 2005
Statut
Membre
Dernière intervention
25 août 2008
-
Pas très constructif comme commentaire.
Au contraire ça peut être très utile pour enregistrer et/ou traiter un tableau qui a beaucoup de cellules ou plusieurs dimensions, par exemple pour une map d'un jeu.
pegase31
Messages postés
6161
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
6 -
Sauf que je ne vois pas l'interêt d'enregistrer les Types des variables. De plus pour un tableau, il suffit de faire un join() pour transformer ce dernieren variable et un split() de cette variable pour recréer un tableau ... et ceci à 1 ou plusieures dimensions !

Peg'
fuckya
Messages postés
125
Date d'inscription
mercredi 31 mars 2004
Statut
Membre
Dernière intervention
8 juin 2006
-
Et pour les objects tu fais ca avec un split aussi ?
Skreo
Messages postés
53
Date d'inscription
samedi 12 novembre 2005
Statut
Membre
Dernière intervention
25 août 2008
-
L'interêt est de pouvoir retravailler les variables linéarisée avec php en utilisant les fonction unserialize() et serialize() incluses dans php.
Et il y a sûrement un interêt à enregistrer les types de variable si les concepteur de php l'on fait ! Par exemple on ne sait pas forcément quel type de variable on a à extraire, et je te rappelle que Flash est beaucoup plus strict qu'avant sur les types.
Et en effet ma fonction peux linéariser également des object, alors que split ne le peut pas ^^ (bien sûr tu peux faire un simple for(var:iString in objet){} )

Puis-je avoir des commentaires sur la qualité de ma source par exemple svp ?
merci ^^

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.