ホームページ > バックエンド開発 > PHPチュートリアル > 第 18 期中国共産党中央委員会第 3 回全体会議での学習体験 第 13 節 - オブジェクトのシリアル化

第 18 期中国共産党中央委員会第 3 回全体会議での学習体験 第 13 節 - オブジェクトのシリアル化

WBOY
リリース: 2016-07-29 08:35:00
オリジナル
857 人が閲覧しました

/*
+---------------------------------------------- -- ----------------------------------+
| = この記事は Haohappy<> ; = 章のクラスとオブジェクトのメモ
| = 不要なトラブルを避けるため、転載はご遠慮ください
| PHP 愛好家は一緒に進歩しましょう
| = PHP5 Research Center: http://blog.csdn.net/haohappy2004
+---------------------- -------------------------------------------------- -- ---+
*/
セクション 13 -- オブジェクトのシリアル化
シリアル化では、オブジェクトを含む変数を連続バイト データに変換できます。シリアル化された変数をファイルまたはネットワーク上に保存し、それを逆シリアル化してファイルに戻すことができます。クラスのオブジェクトを逆シリアル化する前に定義したクラスの場合、PHP はそのオブジェクトのプロパティとメソッドを正常に保存できるため、シリアル化の直後にオブジェクトを実行する必要がある場合があります。 __sleep メソッドと __wakeup メソッドの場合
オブジェクトがシリアル化されると、PHP はオブジェクトを逆シリアル化する前に __sleep メソッドを呼び出します。どちらのメソッドもパラメーターを受け取る必要はありません。シリアル化する必要がある属性を含む配列。__sleep メソッドがない場合、PHP はすべての属性を保存します。
例 6.16 は、__sleep と __wakeup を使用してオブジェクトをシリアル化する方法を示しています。 Id 属性は、オブジェクトに保持されることを意図していない一時的な属性です。__sleep メソッドは、User オブジェクトを逆シリアル化するときに、ID が新しい値を確立します。この例は、自立するように設計されています。実際の開発では、リソース (画像やデータ ストリームなど) を含むオブジェクトにこれらのメソッドが必要になる場合があります。
コードは次のとおりです:

class User

{ public $name; public $id; function __construct() {

// ユーザーに別の ID を与える

$ this -& gt; id = uniqid ();
function __sleep () {
// これをサーバー化しない - & gt; ( "name"); = 新しいユーザー
$u ->名前 = "レオン";
// シリアル化します シリアル化 id 属性はシリアル化されていないことに注意してください。id の値は破棄されます
$s = Serialize($u);
// シリアル化を解除します 逆シリアル化 ID は再割り当てされます
$u2 = unserialize($s );
//$u と $u2 は異なる ID を持ちます
print_r($u)
?>
以上、第18期党中央委員会第3回全体会議からの学習体験の第13節-オブジェクト連載を紹介しました。これには、第18期党中央委員会第3回全体会議からの学習体験の内容も含まれれば幸いです。 PHP チュートリアルに興味のある友人に役立ちます。


ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート