对象要先串行化后存到session,用时再反串行化就可以使用了
// 串行化存入session
$shopCarSerial = serialize($shopCar);
$_SESSION['shopCarSerial']=$shopCarSerial;
//反串行化使用
$shopCar = unserialize($_SESSION['shopCarSerial']);

解决方案 »

  1.   

    好像 是不行的,,不过,你没有必要将类(我猜是个购物车类吧)放在SESSION中啊,,在类中处理SESSION值 就行了,,给你参考一下,,,
    http://community.csdn.net/Expert/topic/3436/3436151.xml?temp=.3573572
      

  2.   

    比如用户在login时
    include "ShopCar.php";
    session_start();
    $shopCar = new ShopCar($userId);
    $_SESSION['user'] = $shopCar;但在第二个页面调用时
    include "ShopCar.php";
    session_start();
    $shopCar =& $_SESSION['user'];
      

  3.   

    xuzuning(唠叨) 
    说的有道理,我去试试。。呵
      

  4.   

    将session串行化我是用过了的,一点问题也没有哦
      

  5.   

    无须自己做串行化处理,php会自动完成。关键是一定要嵌入类定义
      

  6.   

    http://community.csdn.net/Expert/topic/3408/3408762.xml?temp=.8722498
    看看这个帖子
    ini_set('unserialize_callback_func','mycallback'); // 设置您的回调函数
    function mycallback($classname) {
        include_once $classname . ".php";
    }
      session_start();
      $person = unserialize($_SESSION["abc"]);
      

  7.   

    还是那句话:无须自己做串行化处理,php会自动完成。设置回调函数也是为了保证“关键是一定要嵌入类定义”的实现
    当你没有书写嵌入类定义文件的代码时,php会通过这个回调嵌入session中对象所需的类定义文件
    但这并不是说要书写反序列化的代码
    session_start();
    $person =& $_SESSION["abc"];
    就可以了
      

  8.   

    实际处理都一样,要包含类文件,楼主是想像java那样处理不用包含类文件定义来提高效率,可惜php是php,这算盘打不响,所以说用回调是多余。