Cet article présente principalement la sérialisation et la désérialisation PHP, combinés avec des exemples pour analyser la programmation orientée objet PHP et les fonctions de sérialisation et de désérialisation pour les compétences d'utilisation liées à la sérialisation et à la désérialisation, amis dans le besoin Vous pouvez vous référer aux exemples ci-dessous
Cet article décrit la sérialisation et la désérialisation PHP. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :
L'objet est également un type de données stocké en mémoire, et sa durée de vie se termine généralement avec la fin du programme qui a généré l'objet. Parfois, vous devrez peut-être enregistrer l'état d'un objet et le restaurer si nécessaire. La sérialisation convertit chaque objet en une chaîne binaire.
<?php class Person { var $name; var $sex; var $age; function __construct($name = "", $sex = "男", $age = 22) { $this->name = $name; $this->sex = $sex; $this->age = $age; } function say() { echo $this->name . "在说话<br/>"; } function run() { echo "在走路·<br/>"; } //串行化的时候自动调用,成员$sex被忽略,只串行$name,$age function __sleep() { $arr = array("name","age"); return $arr; } //反串行化时自动调用 function __wakeup() { $this->age = 33; } } class Student extends Person { var $school; function __construct($name = "", $sex = "男", $age = 22,$school="") { parent::__construct($name,$sex,$age); $this->school = $school; } function study() { echo $this->name."正在".$this->school."学习<br/>"; } } class Teacher extends Student { var $wage; function teaching() { echo $this->name."正在".$this->school."教学,每月工资为".$this->wage."<br/>"; } //如果调用了不存在的方法,将会自动调用__call(),不会报错 function __call($functionName,$args) { echo "函数名:".$functionName; print_r($args); echo "<br/>"; } } $teacher1 = new Teacher("kaifu","男",22); $teacher1->school = "edu"; $teacher1->wage = 4000; $teacher1->say(); $teacher1->study(); $teacher1->teaching(); $teacher1->hello(1,2,3); ?>
<?php require_once 'Person.php'; $teacher = new Teacher("tom","男",22); $teacher_str = serialize($teacher); file_put_contents("file.txt", $teacher_str); //反串行化 $objStr = file_get_contents("file.txt"); $t = unserialize($objStr); echo $t->age; ?>
Fichier.txt sérialisé :
O:7:"Teacher":2:{s:4:"name";s:3:"tom";s:3:"age";i:22;}
Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.
Recommandations associées :
Explication détaillée des exemples d'utilisation de la sérialisation en PHP
PHP Utilisation de la sérialisation
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!