Qu'est-ce que PHP serialize() de la fonction pour?
Je viens d'apprendre sur le serialize()
etunserialize()
fonctions. Quels sont certains utilise pour cela? Je connais des gens sérialiser des choses à mettre dans une base de données. Pourriez-vous me donner quelques exemples d'utilisation où il est utile?
Je vois aussi sérialisé code en javascript, est-ce le même? Peut une chaîne sérialisée en javascript peut être délinéarisé avec php unserialize()
?
Vous devez vous connecter pour publier un commentaire.
PHP serialize vous permet de garder un tableau ou un objet en forme de texte. Lors de l'affectation de tableaux pour des choses comme les $_SESSION, il permet à PHP de le stocker dans un fichier texte, puis de le recréer plus tard. Sérialiser est utilisé comme cela, pour les objets et les variables. (Assurez-vous que vous avez déclaré la classe de l'objet au préalable)
WordPress sur l'autre main qu'il utilise pour une méthode très similaire, par le stockage de la sérialisé tableaux directement dans une base de données. Si vous gardez une base de données de clés => les valeurs, cela pourrait être très bénéfique en raison de la souplesse de tableaux, vous pouvez stocker quoi que ce soit dans le paramètre valeur.
Et voici le lien (avec l'aimable autorisation de la première auteurs de): http://us3.php.net/serialize
Je vois souvent des seralized magasin de données dans la Base de données, et je n'aime pas vraiment cette :
Encore, j'avoue que c'est un moyen facile de stocker pas-de données bien définis... et je fais parfois de l'utiliser pour ça...
Une autre utilisation de la sérialisation est de faciliter l'échange de données entre deux systèmes : l'envoi d'objets à travers une sorte de webservice, par exemple, oblige à être sérialisé dans une sorte de façon.
Si les deux systèmes sont en PHP, vous pouvez envisager l'utilisation de
serialize
/unserialize
. Mais, ici aussi, que si un système n'est pas PHP plus ? En utilisant JSON ou du SAVON est probablement un meilleur choix : un peu plus difficile au début, mais probablement plus de solution à long terme, comme ces formats sont connus dans d'autres langues aussi.Une chose que j'utilise le PHP est
serialize
la fonction est de stocker les données dans le cache (comme APC, l'utilisateur du cache), dans une application PHP : vous ne pouvez pas stocker des objets comme-est : vous avez à sérialiser eux. Le cache est utilisée par une seule application, il n'est pas nécessaire d'utiliser un format connu par de nombreuses langues ; donc, serialize est OK... Et, pour stocker des données en cache, vous devez utiliser un très rapide de la sérialisation de la fonction -- et sérialiser est assez rapide ^^J'utilise souvent
serialize
de stocker des informations importantes dans la base de données qui n'est pas la peine de créer un tout nouveau domaine pour les, mais pourrait être utile dans l'avenir.Par exemple, si l'utilisateur remplit un formulaire que j'ai seulement stocker quelques éléments, mais je veux les garder dans tous les cas, j'ai besoin d'eux plus tard, je vais arranger le tableau des éléments de formulaire et de le stocker dans la base de données.
La sérialisation est utilisée lorsque vous souhaitez transmettre des données en dehors de PHP, par exemple de Javascript.
Ouais, il travaille souvent pour envoyer des chaînes de caractères, des entiers et des chaînes comme ils le sont, mais pas de structures plus complexes comme des tableaux. Lire plus sur le passage d'un tableau PHP en Javascript ici.
Vous pouvez également mettre vos données en JSON qui est largement pris en charge dans de nombreuses langues, mais alors vous perdez PHP natif de types et de vos propres classes lors de la conversion en elle. Lire plus à propos de JSON et PHP ici.