以前在使用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手冊中有一篇講的是 “序列化對象 - 會話中的對象”,原話:
所以可以這樣:
寫入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 )
現在這個對象就是一個名副其實的對象了。