PHP_オブジェクトのファイル間通信 - アールメカブ

アールメカブ


PHP_オブジェクトのファイル間通信

Programming

以下,ここからの引用.

セッション機能を使いオブジェクト自身をセッションに格納する, 逆に取り出す.

マニュアルによれば

serialize() は、PHPで保存可能な全ての値のバイト ストリーム表現を有する文字列を返します。 unserialize() は、この文字列を使用して元の変数 値を再生することが可能です。オブジェクトを保存するためにシリアル化を行うと、オブジェクトの全ての変数が保存されます。オブジェクトの関 数は保存されません。クラス名だけが保存されます。

A.php に一度アクセスし,続いて B.php にアクセスする. やりとりするクラスを定義しているphpファイル(Test.php)は必ずインクルード

  • Test.php
<?php
  class Test {

   var $id;
   var $name;
 
   function setUserid($id) {
     $this->id = $id;
   }
   function setName($name) {
     $this->name = $name;
   }
 
   function getUserId() {
     return $this->id;
   }
   function getName() {
     return $this->name;
   }
 }
?>
  • A.php
<?php

 session_start();
 require 'Test.php';

 //testオブジェクトを生成
 $test = new Test();

 //testオブジェクトに値をセット
 $test->setUserId('001');
 $test->setName('ABC');

 //testオブジェクトをセッションに格納
 $_SESSION['test'] = serialize($test);

?>
  • B.php
<?php

 require 'Test.php';

 session_start();

 //testオブジェクトをセッションから取り出す
 $test = unserialize($_SESSION['test']);

 //testオブジェクトの各値を出力
echo "<BR>";
 echo $test->getUserId() ;
echo "<BR>";
 echo $test->getName();

?>
 
Link: Programming(4979d)
Last-modified: 2009-09-13 (日) 12:42:38 (5333d)