ホームページ >バックエンド開発 >PHPの問題 >なぜPHPはシリアル化する必要があるのでしょうか?

なぜPHPはシリアル化する必要があるのでしょうか?

(*-*)浩
(*-*)浩オリジナル
2019-09-26 11:11:402889ブラウズ

シリアル化とは、オブジェクトを送信しやすい形式に変換するプロセスであり、通常、オブジェクトはストリーム ファイルに変換され、メモリまたは IO ファイルに配置されます。

なぜPHPはシリアル化する必要があるのでしょうか?

たとえば、オブジェクトをシリアル化し、次のようにして、インターネット経由でクライアントとサーバー間でオブジェクトを転送できます。 HTTP 、または他のアプリケーションと共有します。 逆に、逆シリアル化では、ストリームに従ってオブジェクトが再構築されます。

PHP シリアル化: (推奨学習: PHP プログラミングの入門から習熟まで )

string serialize ( mixed $value )

シリアル化とは、変数やオブジェクトを文字列処理に変換することです。 。

シリアル化中、システムは最初に __sleep() マジック メソッドを呼び出し、次に、持っていく服を選びに出かけるのと同じように、内部のデータをフィルタリングします。デフォルトはオブジェクトのすべての属性です。次に、次のようにserialize()関数を呼び出します:

<?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));
 
?>

上記の例では、最終的な出力シリアル化コンテンツは次のようになります:

なぜPHPはシリアル化する必要があるのでしょうか?

# #Serialization プロセスとコールバック関数の関係: コールバック関数の概念は、ある関数のパラメーターが別の関数の戻り値であり、シリアル化中、serialize() 関数のパラメーターが__sleep()関数の戻り値なので、シリアル化処理はコールバック関数の実行処理です。

以上がなぜPHPはシリアル化する必要があるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。