Maison  >  Article  >  développement back-end  >  Pourquoi php doit-il être sérialisé ?

Pourquoi php doit-il être sérialisé ?

(*-*)浩
(*-*)浩original
2019-09-26 11:11:402809parcourir

La sérialisation est le processus de conversion d'objets dans un format facile à transmettre. Généralement, ils sont convertis en fichiers de flux et placés en mémoire ou en fichiers IO.

Pourquoi php doit-il être sérialisé ?

Par exemple, vous pouvez sérialiser un objet puis transférer cet objet sur Internet à l'aide de HTTP , ou le partager avec d'autres applications. À l'inverse, la désérialisation reconstruit l'objet en fonction du flux.

Sérialisation PHP : (Apprentissage recommandé : Programmation PHP du débutant à compétent)

string serialize ( mixed $value )

La sérialisation consiste à convertir des variables ou des objets en processus de chaîne de caractères .

Pendant la sérialisation, le système appellera d'abord la méthode magique __sleep(), puis filtrera les données à l'intérieur, tout comme sortir pour choisir les vêtements à apporter. La valeur par défaut est tous les attributs d'un objet, puis appelez ensuite la fonction serialize() comme ceci :

<?php
class Animal{
public $name;
public $age;
public $height;
function __construct($name,$age,$heigh){
$this->name=$name;
$this->age=$age;
$this->height=$heigh;
 
}
function __sleep(){
$this->name="小白猫";
return [&#39;name&#39;,&#39;age&#39;,];
 
}
function __wakeup(){
 
}
}
$cat=new Animal("小花猫",5,20);
var_dump(serialize($cat));
 
?>

Dans l'exemple ci-dessus, le contenu sérialisé de sortie final ressemble à ceci :

Pourquoi php doit-il être sérialisé ?

Sérialisation La relation entre le processus et la fonction de rappel : Le concept de la fonction de rappel est que le paramètre d'une fonction est la valeur de retour d'une autre fonction, et lors de la sérialisation, le paramètre de la fonction serialize() est le valeur de retour de la fonction __sleep(), donc le processus de sérialisation est le processus d'exécution d'une fonction de rappel.

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