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


Define class variable in PHP that is not stored along with the object instance

我有一个简单的类:

class obj__image extends obj__file {
    public $dimensions;
    public $storedDPI;
    public $colorProfile;
}

例如,当我将此实例存储到我的会话时,该对象将被序列化并存储起来。没关系。

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

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