A speciális __sleep és __wakeup metódusok
A serialize() ellenÅ‘rzi, hogy van-e az osztályodnak __sleep nevű metódusa. Ha van, ez lefut a szerializáció elÅ‘tt. Ez megtisztÃthatja az objektumot, és végül egy tömbbel tér vissza, amely tartalmazza az adott objektum ténylegesen szerializálandó tulajdonságainak neveit.
A __sleep célja, hogy bezárjon minden adatbázis kapcsolatot, a várakozó adatokat lementse, és hasonló 'tisztÃtó' jellegű tevékenységeket végezzen. Hasznos lehet akkor is, ha nagyon nagy objektumaid vannak, amelyeket külön szeretnél lementeni.
Ezzel szemben az unserialize() a speciális __wakeup nevű függvényt használja. Ha ez létezik, ez a függvény alkalmazható arra, hogy visszaállÃtsa az objektum erÅ‘forrásait.
A __wakeup célja lehet például, hogy visszaállÃtson egy adatbázis kapcsolatot, ami a szerializáció során elveszett, és hasonló beállÃtási feladatokat végezzen.