[classes et objets php] Sérialisation d'objets

不言
Libérer: 2023-03-24 10:14:02
original
2725 Les gens l'ont consulté

Le contenu de cet article concerne la sérialisation d'objets [classes et objets php], qui a une certaine valeur de référence. Maintenant, je le partage avec tout le monde. Les amis dans le besoin peuvent se référer à

Séquence d'objets.

Sérialiser les objets - stocker les objets dans la session

sérialiser() peut sérialiser toutes les valeurs en php pour renvoyer un flux d'octets représenté par une chaîne.
La fonction unserialize() peut rétablir la chaîne à la valeur d'origine de PHP.

La sérialisation d'un objet enregistrera toutes les variables de l'objet, mais les méthodes de l'objet ne seront pas enregistrées, seul le nom de la classe sera enregistré.

objet unserialize(), la classe de l'objet doit être définie.
Si vous sérialisez un objet de classe A, une chaîne liée à la classe A et contenant les valeurs de toutes les variables de l'objet sera renvoyée.
Si vous souhaitez désérialiser un objet dans un autre fichier, la classe de l'objet doit être définie avant la désérialisation, soit en incluant un fichier qui définit la classe, soit en utilisant la fonction spl_autoload_register().

<?php// classa.inc:

  class A {
      public $one = 1;      public function show_one() {
          echo $this->one;
      }
  }// page1.php:

  include("classa.inc");  $a = new A;  $s = serialize($a);  // 把变量$s保存起来以便文件page2.php能够读到
  file_put_contents(&#39;store&#39;, $s);// page2.php:

  // 要正确了解序列化,必须包含下面一个文件
  include("classa.inc");  $s = file_get_contents(&#39;store&#39;);  $a = unserialize($s);  // 现在可以使用对象$a里面的函数 show_one()
  $a->show_one();?>
Copier après la connexion
Copier après la connexion

Utilisez la fonction session_register() pour enregistrer les objets dans la session. Ces objets seront automatiquement sérialisés à la fin de chaque page et désérialisés au début de chaque page. Ainsi, une fois les objets enregistrés dans la session, ils sont disponibles dans les pages de l'application.

Les événements de sérialisation/désérialisation peuvent être gérés à l'aide des méthodes __sleep() et __wakeup() sur l'objet.

session_register() Obsolète dans PHP 5.3.0 et supprimée dans PHP 5.4.0.

Sérialisation d'objets

Sérialiser des objets - stocker des objets dans la session

serialize() peut sérialiser tous les php La valeur à l'intérieur est renvoyé sous forme de chaîne contenant un flux d'octets.
La fonction unserialize() peut rétablir la chaîne à la valeur d'origine de PHP.

La sérialisation d'un objet enregistrera toutes les variables de l'objet, mais les méthodes de l'objet ne seront pas enregistrées, seul le nom de la classe sera enregistré.

objet unserialize(), la classe de l'objet doit être définie.
Si vous sérialisez un objet de classe A, une chaîne liée à la classe A et contenant les valeurs de toutes les variables de l'objet sera renvoyée.
Si vous souhaitez désérialiser un objet dans un autre fichier, la classe de l'objet doit être définie avant la désérialisation, soit en incluant un fichier qui définit la classe, soit en utilisant la fonction spl_autoload_register().

<?php// classa.inc:

  class A {
      public $one = 1;      public function show_one() {
          echo $this->one;
      }
  }// page1.php:

  include("classa.inc");  $a = new A;  $s = serialize($a);  // 把变量$s保存起来以便文件page2.php能够读到
  file_put_contents(&#39;store&#39;, $s);// page2.php:

  // 要正确了解序列化,必须包含下面一个文件
  include("classa.inc");  $s = file_get_contents(&#39;store&#39;);  $a = unserialize($s);  // 现在可以使用对象$a里面的函数 show_one()
  $a->show_one();?>
Copier après la connexion
Copier après la connexion

Utilisez la fonction session_register() pour enregistrer les objets dans la session. Ces objets seront automatiquement sérialisés à la fin de chaque page et désérialisés au début de chaque page. Ainsi, une fois les objets enregistrés dans la session, ils sont disponibles dans les pages de l'application.

Les événements de sérialisation/désérialisation peuvent être gérés à l'aide des méthodes __sleep() et __wakeup() sur l'objet.

session_register() Obsolète dans PHP 5.3.0 et supprimée dans PHP 5.4.0.

Recommandations associées :

[classes et objets php] objets et références

[classes et objets php] trait

[classes et objets php] Mot-clé final

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!

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!