プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
PHP、セッション経由でオブジェクトを受け渡しする方法
変数がどっちゃりあるので、まとめて一つのクラスにして
それをセッションに突っ込んで受け渡ししようと思ったのですが
上手くいかねー<( ̄◇ ̄;)>

こんな感じのコードを書いてみたのですよφ(--)

■testClass.php
  class testClass{
      public $str01;
  }


■test01.php
  <?php 
      require_once 'testClass.php';

      session_start();

      //インスタンス作って値を突っ込む
      $tc = new testClass();
      $tc->str01 = "hoge";

      //セッションに突っ込む
      $_SESSION['tc'] = $tc;
  ?>


■test02.php
  <?php 
      require_once 'testClass.php';

      session_start();

      //セッションから取得
      $tc = $_SESSION['tc'];

      //表示
      echo $tc->str01;
      var_dump($tc);
  ?>



var_dump()だとなんか値入っているっぽいのに
なんでechoで値が表示されないんだぁ<( ̄◇ ̄;)>

と悩んだのですが、結局セッション経由でオブジェクトを受け渡すには
「serialize/unserialize」を使わないと駄目みたいです。

っつー訳でこんなんやったら無事解決φ(--)

■test01.php
  <?php 
       require_once 'testClass.php';

      session_start();

      //インスタンス作って値を突っ込む
      $tc = new testClass();
      $tc->str01 = "hoge";

      //セッションに突っ込む
      $_SESSION['tc'] = 
serialize($tc);
  ?>


■test02.php
  <?php 
       require_once 'testClass.php';

      session_start();

      //セッションから取得
      $tc = 
unserialize($_SESSION['tc']);

      //表示
      echo $tc->str01;
      var_dump($tc);
  ?>



「serialize/unserialize」って、横着して
配列をそのままファイルに保持したりするときに使ってましたが
こっちが本来の使い方っぽいですね(--ゞ
スポンサーリンク
 
このエントリーをはてなブックマークに追加 

category:● PHP  thema:システム開発 - genre:コンピュータ  Posted by ササキマコト 

  関連記事