Maison  >  Article  >  développement back-end  >  Explication détaillée de la sérialisation et de la désérialisation PHP

Explication détaillée de la sérialisation et de la désérialisation PHP

小云云
小云云original
2018-03-31 09:56:242912parcourir

La soi-disant sérialisation consiste à convertir les données d'une variable en chaîne (mais elle est différente de la conversion de type). Le but est de stocker cette chaîne (sous forme de fichier texte) afin qu'elle puisse être désérialisée et restaurée lors de son exécution sur d'autres environnements. (Généralement utilisé là où les données doivent être stockées)

Sérialisation :

$str=serialize ($variable) //Convertissez les données en chaîne et stockez-les dans la variable $ rue.

file_put_conetents("Chemin du fichier texte",$str);//Enregistrez le fichier dans un fichier texte.

Désérialisation :

$str=file_get_contents("Chemin du fichier texte");//Obtenir les informations sérialisées stockées dans le fichier.

$value=unserialize($str); //Convertissez le contenu de la chaîne récupérée en données normales et stockez-le dans $value.

Méthodes magiques de sérialisation et de désérialisation :

__sleep() : lors de la sérialisation d'un objet d'une certaine classe, la méthode de cette classe sera automatiquement appelée méthode __sleep()

Utilisez cette méthode pour sélectionner les données qui doivent être sérialisées, sélectionnez les attributs requis et stockez-les dans le tableau. Le tableau sera renvoyé après la fin. La valeur est ce qui doit être sérialisé. .


__wakeup() : Juste à l'opposé de __sleep(), lorsqu'elle est appelée pendant la désérialisation, certaines opérations utiles peuvent être effectuées pour remettre l'état à l'état avant la sérialisation (comme la connexion à la base de données). Parce que la sérialisation modifie uniquement les attributs requis en chaînes et les stocke, et la désérialisation ne modifie que les chaînes en données, mais certains états ne reviennent pas à l'état précédent. À ce stade, vous pouvez utiliser __wakeup() pour revenir exactement à l'état précédent. le même état qu'avant.


Recommandations associées :

Explication détaillée des principes de sérialisation et de désérialisation PHP

Application des techniques de tableau de sérialisation PHP_Tutoriel PHP

Explication détaillée des méthodes de sérialisation et de désérialisation PHP, explication détaillée du tutoriel PHP de sérialisation et de désérialisation_PHP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn