ホームページ >バックエンド開発 >PHPチュートリアル >大規模な PHP プロジェクトを開発する方法 4_PHP チュートリアル
PHP の高度な OOP テクノロジ OOP の基本的な概念を理解した後、さらに高度なテクノロジを紹介します。 シリアル化 (シリアル化) PHP では、状態と機能を維持する永続オブジェクトを複数のアプリケーションで参照できます。これは、オブジェクトをファイルまたはデータベースに保存し、後でそのオブジェクトをロードできることを意味します。これはいわゆるシリアル化メカニズムです。 PHP にはオブジェクトに対して呼び出すことができるシリアル化メソッドがあり、シリアル化メソッドはオブジェクトの文字列表現を返すことができます。ただし、シリアル化ではオブジェクトのメンバー データのみが保存され、メソッドは保存されません。 PHP4 では、オブジェクトを文字列 $s にシリアル化してからオブジェクトを解放し、オブジェクトを $obj に逆シリアル化すると、オブジェクトのメソッドを引き続き使用できます。これを行うことはお勧めしません。(a) ドキュメントには、この動作が将来のバージョンでも機能するという保証がないからです。 (b) これにより、シリアル化されたバージョンをディスクに保存してスクリプトを終了するときに、誤解が生じる可能性があります。文字列表現にはメソッドがまったく含まれていないため、後でこのスクリプトを実行するときに、オブジェクトを逆シリアル化するときにオブジェクトのメソッドが存在することは期待できません。 つまり、PHP でのシリアル化は、オブジェクトのメンバー変数を保存するのに非常に役立ちます。 (関連する配列や配列をファイルにシリアル化することもできます)。 例: - - - - - - - - - - - - - - - - - - - - - - - - ----- -------------------------------------------- ------ ------- メンバー データは復元されましたが、メソッドは復元されませんでした (ドキュメントによると)。これにより、メンバー変数にアクセスするには $obj2->x を使用するような方法しかなくなります (他に方法はありません)。自宅では試さないでください。 この問題を解決するにはいくつかの方法がありますが、この簡潔な記事ではあまりにもひどいため省略しました。 私は、PHP の次のバージョンで完全にシリアル化された機能を喜んで歓迎します。