ホームページ > バックエンド開発 > PHPチュートリアル > PHP コア テクノロジーとオブジェクトのシリアル化のベスト プラクティス

PHP コア テクノロジーとオブジェクトのシリアル化のベスト プラクティス

WBOY
リリース: 2016-06-23 13:36:43
オリジナル
814 人が閲覧しました

PHP コアテクノロジーとオブジェクトシリアル化のベストプラクティス

オブジェクトは、必要なときに使用できるように保存できるデータの集まりです。これがオブジェクトのシリアル化です。 inoclされたシリアル化は、メモリに保存されているさまざまなオブジェクト状態(プロパティ)を保存し、必要に応じてそれらを復元することを意味します。次のコードは、メモリ内のオブジェクトの現在の状態をファイルに保存することを実装します。

$str = Serialize($student);

Echo $str;

File_put_contents('store.txt',$str);

シリアル化された結果を出力します:

O:6:"person":2 :{ s:4:”name”;s:3:”Tom”;s:6:”gender”;s:4:”mail”;}


必要に応じて、このオブジェクトを逆シリアル化して取得します:

$str = file_get_contents ('store.txt');

$student =unserialize($str);

$student->say();

注:

シリアル化と逆シリアル化の両方で必要です。そうしないと、オブジェクトを逆シリアル化するときにオブジェクトのクラスの定義が見つからず、間違った結果が返されるように見える場合があります。 オブジェクトがシリアル化された後は、オブジェクトの属性のみが保存されることがわかります。クラスは属性とメソッドで構成され、オブジェクトは属性のコレクションです。同じクラスによって生成された異なるオブジェクトは異なる属性を持ちますが、クラスのコード空間内のメソッド領域のコードを共有します。

拡張機能:

serialize/unserialize は PHP に付属のシリアル化関数ですが、この関数セットはシリアル化中に文字列の長さなどの役に立たない情報を生成し、スペースの無駄を引き起こします。 __toString() も一種のシリアル化です。このうち、json_encode/json_decode は、独自のシリアル化と逆シリアル化を実装するのに適しています。

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