PHP中用session存入对象的解决方案

来源:互联网 发布:海上知生机搜救队视频 编辑:程序博客网 时间:2024/05/19 14:52

以前在使用java开发中,通常都是在session里面存放的对象。在使用php开发中,也打算在session中存入对象,确实能把对象放进去,也能把整个对象输出,但就是取不出对象里面的属性。

通过print_r($obj) 查看,输出的是下面这串:

 

__PHP_Incomplete_Class Object ( [__PHP_Incomplete_Class_Name] => User [id:private] => 1 [username:private] => todaydiy [password:private] => 112233 [nickname:private] => huangwei [userid:private] => 1001 [logintimes:private] => 66 [lastlogintime:private] => 2010-04-20 23:30:23 [addtime:private] => 2010-04-19 23:49:12 )

 

可以看到,和普通的对象还是有区别的。

php手册中有一篇讲的是 “序列化对象 - 会话中的对象”,原话:

php session中存入对象解决方案 - todaydiy - 待飞的热气球

 

所以可以这样:

      写入session时

      $_session["user"] = serialize(目标对象);

     

      读取session时

      $obj = unserialize($_session["user"] );

     

      print_r($obj);

     

      User Object ( [id:private] => 1 [username:private] => todaydiy [password:private] => 112233 [nickname:private] => huangwei [userid:private] => 1001 [logintimes:private] => 71 [lastlogintime:private] => 2010-04-20 23:44:50 [addtime:private] => 2010-04-19 23:49:12 )

     

      现在这个对象就是一个名副其实的对象了。

原创粉丝点击