在PHP中定义不随对象实例一起存储的类变量

在PHP中定义不随对象实例一起存储的类变量,php,class,object,serialization,Php,Class,Object,Serialization,我有一个简单的课程: class obj__image extends obj__file { public $dimensions; public $storedDPI; public $colorProfile; } 例如,当我将此实例存储到会话中时,对象将被序列化并存储起来。那很好 但是有没有办法定义一个类变量,比如上面的$colorProfile,这样在存储/序列化对象时就不会存储它了?您可以通过为类定义一个神奇的方法来精确控制序列化对象中包含哪些属性。__

我有一个简单的课程:

class obj__image extends obj__file {

    public $dimensions;
    public $storedDPI;
    public $colorProfile;

}
例如,当我将此实例存储到会话中时,对象将被序列化并存储起来。那很好


但是有没有办法定义一个类变量,比如上面的
$colorProfile
,这样在存储/序列化对象时就不会存储它了?

您可以通过为类定义一个神奇的方法来精确控制序列化对象中包含哪些属性。__sleep()方法应返回属性名称数组:数组中列出的属性名称将包含在序列化对象中,任何其他未列出的属性将被丢弃