この記事の内容は、[php クラスとオブジェクト] オブジェクトのシリアル化に関するもので、必要な友達はそれを参照できるようになりました。
シリアル化されたオブジェクト - ストア。セッション内のオブジェクト
serialize() は、PHP 内のすべての値をシリアル化して、表現するバイト ストリームを含む文字列を返すことができます。 unserialize() 関数は、文字列を PHP の元の値に戻すことができます。
オブジェクトをシリアル化すると、オブジェクトのすべての変数が保存されますが、オブジェクトのメソッドは保存されず、クラスの名前のみが保存されます。
unserialize() オブジェクトでは、オブジェクトのクラスを定義する必要があります。
別のファイル内のオブジェクトを逆シリアル化する場合は、クラスを定義するファイルをインクルードするか、関数 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('store', $s);// page2.php: // 要正确了解序列化,必须包含下面一个文件 include("classa.inc"); $s = file_get_contents('store'); $a = unserialize($s); // 现在可以使用对象$a里面的函数 show_one() $a->show_one();?>
関数 session_register() を使用して、オブジェクトをセッションに保存します。これらのオブジェクトは、各ページの最後に自動的にシリアル化され、各ページの先頭に逆シリアル化されます。 したがって、オブジェクトがセッションに保存されると、アプリケーション全体のページで使用できるようになります。
オブジェクトの __sleep() メソッドと __wakeup() メソッドを使用して、シリアル化/逆シリアル化イベントを処理できます。
session_register() PHP 5.3.0 で非推奨となり、PHP 5.4.0 で削除されました。
オブジェクトのシリアル化シリアル化されたオブジェクト - セッションにオブジェクトを保存します
serialize() は、PHP 内のすべての値をシリアル化し、表現するバイト ストリームを含む文字列を返すことができます。 unserialize() 関数は、文字列を PHP の元の値に戻すことができます。
オブジェクトをシリアル化すると、オブジェクトのすべての変数が保存されますが、オブジェクトのメソッドは保存されず、クラスの名前のみが保存されます。
unserialize() オブジェクトでは、オブジェクトのクラスを定義する必要があります。
別のファイル内のオブジェクトを逆シリアル化する場合は、クラスを定義するファイルをインクルードするか、関数 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('store', $s);// page2.php: // 要正确了解序列化,必须包含下面一个文件 include("classa.inc"); $s = file_get_contents('store'); $a = unserialize($s); // 现在可以使用对象$a里面的函数 show_one() $a->show_one();?>
関数 session_register() を使用して、オブジェクトをセッションに保存します。これらのオブジェクトは、各ページの最後に自動的にシリアル化され、各ページの先頭に逆シリアル化されます。 したがって、オブジェクトがセッションに保存されると、アプリケーション全体のページで使用できるようになります。
オブジェクトの __sleep() メソッドと __wakeup() メソッドを使用して、シリアル化/逆シリアル化イベントを処理できます。
session_register() PHP 5.3.0 で非推奨となり、PHP 5.4.0 で削除されました。
関連する推奨事項:
【phpクラスとオブジェクト】オブジェクトと参照以上が[phpのクラスとオブジェクト] オブジェクトのシリアル化の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。