Maison développement back-end tutoriel php Sérialisation et désérialisation d'objets en php

Sérialisation et désérialisation d'objets en php

Jun 28, 2018 pm 03:38 PM

* 1. Sérialisation des objets

* 1. Toute valeur en php peut être sérialisée dans une chaîne contenant une représentation de flux d'octets

* 2. Les objets de sérialisation peuvent être enregistrés dans des variables ou fichiers pour une sauvegarde et une transmission faciles

//Sérialisation numérique

$num = 500;
echo serialize($num),&#39;<br>&#39;;
Copier après la connexion

//Sérialisation de chaînes

$name = &#39;peter&#39;;
echo serialize($name),&#39;<br>&#39;;
Copier après la connexion

//Sérialisation de tableaux

$course = [&#39;php&#39;,&#39;mysql&#39;,&#39;thinkphp&#39;];
echo serialize($course),&#39;<br>&#39;;
Copier après la connexion

//Sérialisation booléenne

$isPass = true;
echo serialize($isPass),&#39;<br>&#39;;
Copier après la connexion

//Sérialisation d'objet : prenez une classe de connexion à une base de données comme exemple

class Db
{
    //连接参数与返回值
    public $db = null;
    public $host;
    private $user;
    private $pass;
    //构造方法
    public function __construct($host=&#39;localhost&#39;,$user=&#39;root&#39;,$pass=&#39;root&#39;)
    {
        //类属性初始化
        $this->host = $host;
        $this->user = $user;
        $this->pass = $pass;
        
        //创建对象时自动连接数据库
        $this->connect();
    }
    
    //连接数据库的方法
    private function connect()
    {
        $this->db = mysqli_connect($this->host,$this->user, $this->pass);
    }
    
    //serialize($obj)序列化的时候,会自动调用__sleep(void)
    //主要用于对象休眠时的一些清理工作,例如指定哪些属性允许进入到休眠对象的属性序列中
    public function __sleep()
    {
        //返回由属性名字符串组成的索引数组,指示序列化时要保存的字段名
        return [&#39;host&#39;,&#39;user&#39;,&#39;pass&#39;];
        //对于本案例来说,如果连接参数不变的情况下,只要将$this->db保存到对象序列中即可
//        return [&#39;db&#39;];
    }
    
    //unserialize()反序列化的时候,会自动调用__wakeup(void)
    //主要用于唤醒对象时要做的初始化工作,例如本例中的:自动连接数据库
    public function __wakeup()
    {
        $this->connect();
    }
    
}
$obj = new Db();
Copier après la connexion

* Caractéristiques de l'objet de la sérialisation :

* 1 . Enregistrez uniquement les attributs dans l'objet, pas les méthodes

* 2. Enregistrez uniquement le nom de la classe, pas le nom de l'objet

echo serialize($obj);
Copier après la connexion

//Afin de démontrer la désérialisation, nous enregistrons le objet sérialisé dans une variable, bien sûr, il peut également être enregistré dans un fichier

$tmp1 = serialize($obj);
Copier après la connexion

//Afficher le contenu de la variable sérialisée, par rapport à la séquence précédente Le contenu est le même

echo $tmp1;
Copier après la connexion

//Effectuez maintenant l'opération de désérialisation et retirez l'objet enregistré dans la variable

$tmp2 = unserialize($tmp1);
Copier après la connexion

//Détectez si $tmp2 est un objet

echo &#39;<hr>&#39;;
echo is_object($tmp2) ? &#39;对象&#39; : &#39;不是&#39;;
echo &#39;<hr>&#39;;
Copier après la connexion

//Obtenez les attributs et affichez l'objet de connexion à la base de données

var_dump($tmp2->db);
Copier après la connexion


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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment convertir un tableau php en objet en boucle Comment convertir un tableau php en objet en boucle Aug 10, 2023 pm 02:44 PM

Il existe deux manières de convertir un tableau PHP en objet dans une boucle : 1. Utilisez la conversion de type forcée pour convertir le tableau en objet, et les clés du tableau doivent être des noms d'attributs d'objet valides ; 2. Créez un nouvel objet et ; ajoutez les éléments du tableau copiés dans l'objet, que les clés du tableau soient ou non valides en tant que noms de propriété de l'objet.

Qu'est-ce qui est le plus rapide, l'opération d'objet php ou l'opération de tableau ? Qu'est-ce qui est le plus rapide, l'opération d'objet php ou l'opération de tableau ? Jul 12, 2023 pm 03:04 PM

Les opérations sur les tableaux PHP sont plus rapides que les opérations sur les objets PHP. Les raisons sont les suivantes : 1. Les opérations sur les objets impliquent des étapes telles que la création d'objets, l'appel de méthodes et l'accès aux propriétés, qui peuvent être plus lentes en termes de performances. contient plusieurs valeurs, utilise différentes méthodes et fonctions sur les tableaux et peut effectuer des opérations rapides et efficaces sur les tableaux.

Les tableaux php sont-ils des objets ? Les tableaux php sont-ils des objets ? Jul 22, 2022 pm 05:24 PM

Les tableaux PHP ne sont pas des objets. En PHP, les tableaux et les objets sont deux types de données différents. Un tableau est une collection de données ordonnées et un objet est le résultat de l'instanciation d'une classe, qui contient non seulement des propriétés mais également des méthodes. Les objets peuvent encapsuler des opérations sur les données, mais pas les tableaux.

Quelle est la différence entre les objets php et les tableaux Quelle est la différence entre les objets php et les tableaux Aug 24, 2023 pm 05:02 PM

La différence entre les objets PHP et les tableaux est la suivante : 1. L'objet est un type de données composite, tandis que le tableau est un type de données simple. 2. Les propriétés et les méthodes de l'objet sont accessibles via l'instance de l'objet, tandis que les éléments ; du tableau est accessible via l'index ; 3. Un objet est une entité qui encapsule des propriétés et des méthodes, tandis qu'un tableau est une collection ordonnée d'éléments ; 4. Les objets sont passés par référence en PHP, tandis que les tableaux sont passés par valeur en PHP. PHP ; 5. Les objets conviennent pour décrire des entités avec un état et un comportement, tandis que les tableaux conviennent pour stocker et traiter de grandes quantités de données similaires.

Comment utiliser les variables d'objet en PHP Comment utiliser les variables d'objet en PHP Sep 13, 2023 pm 12:59 PM

Comment utiliser des variables d'objet en PHP nécessite des exemples de code spécifiques. En PHP, l'utilisation de variables d'objet facilite la gestion et la manipulation des objets. Une variable objet est un type de données qui stocke les instances d'objet. L'objet peut être manipulé en appelant des méthodes de la classe et en accédant aux propriétés de la classe. Ce qui suit présentera en détail comment utiliser les variables d'objet en PHP et fournira des exemples de code correspondants. Création d'objets En PHP, vous pouvez utiliser le mot-clé new pour créer des objets. Un exemple est le suivant : classCar{public$colo

Découvrez comment appeler des méthodes objet en PHP Découvrez comment appeler des méthodes objet en PHP Mar 28, 2023 pm 03:00 PM

PHP est un langage de programmation très populaire qui peut être utilisé pour développer diverses applications, notamment des applications Web. En PHP, la programmation orientée objet est l'une de ses fonctionnalités importantes. Cet article explorera comment appeler des méthodes objet en PHP.

Instances de fonction d'objets et de classes PHP Instances de fonction d'objets et de classes PHP Jun 16, 2023 am 09:51 AM

PHP est un langage de programmation orienté objet qui prend en charge les concepts d'objets et de classes. En PHP, un objet est une instance d'une classe, qui peut stocker des données et des fonctions, appelées méthodes. En utilisant les fonctions des objets et des classes PHP, nous pouvons facilement organiser notre code et améliorer la réutilisabilité du code. Dans cet article, nous présenterons des exemples de fonctions sur des objets et classes PHP et leurs fonctionnalités. Constructeur (__construct) Un constructeur est une fonction qui est automatiquement appelée lors de la création d'un objet. Il est utilisé pour initialiser les propriétés de l'objet et effectuer

Comment obtenir toutes les méthodes d'un objet en php Comment obtenir toutes les méthodes d'un objet en php Mar 23, 2023 am 11:12 AM

En PHP, il est très simple d'obtenir toutes les méthodes d'un objet, ce qui peut être réalisé en utilisant la classe ReflectionClass de la bibliothèque standard PHP. La classe ReflectionClass fournit une méthode pour refléter toutes les informations d'une classe en PHP, y compris le nom de la classe, les attributs, les méthodes, etc. Ci-dessous, nous présentons en détail comment utiliser la classe ReflectionClass pour obtenir toutes les méthodes d'un objet.

See all articles