シリアル化では、オブジェクトを含む変数を連続バイト データに変換できます。シリアル化された変数をファイルに保存したり、ネットワーク経由で送信したりして、それらを逆シリアル化して元のデータに復元できます。オブジェクトを逆シリアル化する前に定義されたクラスのメソッドを呼び出します。そのような目的で、PHP は自動的に __sleep メソッドと __wakeup メソッドを探します。
オブジェクトがシリアル化されると、PHP は__sleep メソッド (存在する場合)。オブジェクトを逆シリアル化した後、PHP は __wakeup メソッドを呼び出します。どちらのメソッドも受け入れられません。__sleep メソッドは、シリアル化する必要がある属性を含む配列を返す必要があります。 __sleep メソッドを使用しない場合、PHP はすべての属性を保存します。例 図 1 は、__sleep メソッドと _wakeup メソッドを使用してオブジェクトをシリアル化する方法を示しています。 __sleep メソッドは、User オブジェクトを逆シリアル化するときに、id 属性が確実に含まれるようにします。この例は、実際には自己維持されるように設計されています。開発中には、リソース (画像やデータ ストリームなど) を含むオブジェクトにこれらのメソッドが必要になる場合があります。
http://www.bkjia.com/PHPjc/446715.html
http://www.bkjia.com/PHPjc/446715.html |
シリアル化では、オブジェクトを含む変数を連続バイト データに変換できます。シリアル化された変数をファイルに保存したり、ネットワーク経由で送信したりして、シリアル化を解除して元の数値に戻すことができます。