-
class person { - private $name;
- private $age;
- function __construct($name, $age) {
- $this->name = $name;
- $this->age = $age;
- }
function Say() {
- echo "私の名前は: ".$this->name."
echo " 私の年齢は: ".$this->age;
- }}
$p1 = new Person("张三", 20);
- $ p1_string = Serialize($p1);//オブジェクトをシリアル化してファイルに書き込みます
- $fh = fopen("p1.text", "w");
- fwrite($fh, $p1_string);
- fclose($fh ) ;
- ?>
-
-
コードをコピーします
p1.text ファイルを開いて、内容を入力します。
O:6:"人物":2:{s:12:"人物名";s:4:"張三";s:11:"人物の年齢";i:20;}
ただし、通常、上記のシリアル化によって生成された文字は直接解析されません。
2 番目、逆シリアル化:
class person { - private $name;
- function __construct($name, $age) {
- $this->name = $name; ;
- $this->age = $age;
- }
- function Say() {
- echo "私の名前は: ".$this->name."
";
- echo "年齢は: ".$this->age;
- }}
$p2 = unserialize(file_get_contents("p1.text"));
- $p2 ->say() ;
- ?>
-
-
-
-
- コードをコピーします
出力結果:
私の名前は張三です。年齢は20歳です。
ヒント: シリアル化されたオブジェクトはそのメソッドをシリアル化できないため、シリアル化を解除するときは、現在のファイルに対応するクラスが含まれているか、対応するクラス ファイルが必要である必要があります。
ファイルはユーザーごとに個別に保存または書き込む必要があり、ファイル名を繰り返してはいけないため、シリアル化は限られたユーザーでのみ使用できます。
ユーザーがブラウザを正常に終了できない場合、ファイルが削除される保証はありません。オブジェクトはセッション変数として登録されます。
ユーザーの数が多い場合は、セッションを使用してオブジェクトを保存することを検討できます。
セッションの詳細については、次の記事を参照してください。
phpでのセッションの簡単な例
phpセッション操作クラス(例あり)
phpセッション関数セット
phpでのセッション有効期限の設定方法を詳しく解説
phpでのセッションアプリケーションの例
PHPセッションテクノロジーのセッション使用例
phpログアウトセッション情報
php5でのCookieとセッションの使用法
例:
session_start(); class person { private $name; function __construct($name, $age) { $this-> ;name = $name; $this->age = $age; } function Say() {
echo "私の名前は: ".$this->name" "; echo " 私の年齢は: ".$this->age
}}
$_SESSION["p1"] = new Person("张三", 20);
?> ;
コードをコピー
セッションを読む:
session_start(); class person { private $name;- function __construct($name, $age) {
- $this-> ;name = $name;
- $this->age = $age;
- }
function Say() {
- echo "私の名前は:".$this->name . "
";
- echo " 私の年齢は次のとおりです: ".$this->age;
- }}
- $_SESSION["p1"] ->say();
- ?>
- < /p>
-
-
-
- コードをコピー
-
-
- 出力結果:
私の名前は張三です。年齢は20歳です。
シリアル化と同様、オブジェクトをセッション変数として登録しても、そのメソッドは保存されません。
したがって、セッション変数を読み取るときは、現在のファイルに対応するクラスが含まれているか、対応するクラス ファイルが必要である必要があります。
-
|