廣告聯播

2013年5月28日 星期二

php session中存取物件(Object)解决方案

From: Polin Wei



在使用java開發時,通常會將物件 Object 存放在session裡面,以便後續的作業中可以取得。但在使用php開發時,在session中存入物件,確實能把物件放進去,也能把整個物件輸出,但就是取不出物件裡面的屬性。會發生下面類似的錯誤資訊:

USER => __PHP_Incomplete_Class Object (21)
     ->__PHP_Incomplete_Class_Name = "objUser"
     ->user_uid = 0
 這搞了很久,才發現php手冊中有一篇講的是 “序列化物件 - 會話中的物件”,存取應用下列方法:
  • 存放物件在session:
$_SESSION["USER"] = serialize($USER);

  • 從session取出物件:
$USER = unserialize( $_SESSION["USER"] );
 可以用 print_r($USER); 傾印出來看應該就正常,這樣這個物件可以正常使用了。