我有一个简单的课程:
class obj__image extends obj__file {
public $dimensions;
public $storedDPI;
public $colorProfile;
}
当我将此实例存储到我的会话中时(例如),对象被序列化并存储起来。没关系。
但有没有办法定义一个类变量,例如上面的$colorProfile
,以便在存储/序列化对象时不会存储它?
答案 0 :(得分:2)
通过为类定义魔术__sleep()方法,您可以精确控制序列化对象中包含的属性。 __sleep()方法应该返回一个属性名称数组:数组中列出的那些属性名称将包含在序列化对象中,任何其他未列出的属性都将被丢弃