<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >魔术函数 __sleep 和 __wakeup</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" TITLE="PHP 手册" HREF="index.html"><LINK REL="UP" TITLE="类与对象(PHP 4)" HREF="language.oop.html"><LINK REL="PREVIOUS" TITLE="序列化对象 - 会话中的对象" HREF="language.oop.serialization.html"><LINK REL="NEXT" TITLE="构造函数中的引用" HREF="language.oop.newref.html"><META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=UTF-8"></HEAD ><BODY CLASS="sect1" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >PHP 手册</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="language.oop.serialization.html" ACCESSKEY="P" >上一页</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" >章 18. 类与对象(PHP 4)</TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="language.oop.newref.html" ACCESSKEY="N" >下一页</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="sect1" ><H1 CLASS="sect1" ><A NAME="language.oop.magic-functions" >魔术函数 <TT CLASS="literal" >__sleep</TT > 和 <TT CLASS="literal" >__wakeup</TT ></A ></H1 ><P > <A HREF="function.serialize.html" ><B CLASS="function" >serialize()</B ></A > 检查类中是否有魔术名称 <TT CLASS="literal" >__sleep</TT > 的函数。如果这样,该函数将在任何序列化之前运行。它可以清除对象并应该返回一个包含有该对象中应被序列化的所有变量名的数组。 </P ><P > 使用 <TT CLASS="literal" >__sleep</TT > 的目的是关闭对象可能具有的任何数据库连接,提交等待中的数据或进行类似的清除任务。此外,如果有非常大的对象而并不需要完全储存下来时此函数也很有用。 </P ><P > 相反地,<A HREF="function.unserialize.html" ><B CLASS="function" >unserialize()</B ></A > 检查具有魔术名称 <TT CLASS="literal" >__wakeup</TT > 的函数的存在。如果存在,此函数可以重建对象可能具有的任何资源。 </P ><P > 使用 <TT CLASS="literal" >__wakeup</TT > 的目的是重建在序列化中可能丢失的任何数据库连接以及处理其它重新初始化的任务。 </P ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="language.oop.serialization.html" ACCESSKEY="P" >上一页</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >起始页</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="language.oop.newref.html" ACCESSKEY="N" >下一页</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >序列化对象 - 会话中的对象</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="language.oop.html" ACCESSKEY="U" >上一级</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >构造函数中的引用</TD ></TR ></TABLE ></DIV ></BODY ></HTML >