svn: /phpdoc/ru/trunk/ language/oop5/magic.xml reference/var/functions/serialize.xml reference/var/functions/unserialize.xml
[email protected] (Sergey Panteleev)
| Newsgroups | php.doc.ru |
|---|---|
| Message-ID | <[email protected]> |
sergey Fri, 03 Apr 2020 04:49:31 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=349603
Log:
docs(ru): Updated to English revision
Changed paths:
U phpdoc/ru/trunk/language/oop5/magic.xml
U phpdoc/ru/trunk/reference/var/functions/serialize.xml
U phpdoc/ru/trunk/reference/var/functions/unserialize.xml
svn-diffs-349603.txt
(text/x-diff, 28.5 KB)
Modified: phpdoc/ru/trunk/language/oop5/magic.xml
===================================================================
--- phpdoc/ru/trunk/language/oop5/magic.xml 2020-04-03 04:30:35 UTC (rev 349602)
+++ phpdoc/ru/trunk/language/oop5/magic.xml 2020-04-03 04:49:31 UTC (rev 349603)
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- EN-Revision: 349020 Maintainer: irker Status: ready -->
+<!-- EN-Revision: 349590 Maintainer: irker Status: ready -->
<!-- Reviewed: yes -->
<!-- $Revision$ -->
<sect1 xml:id="language.oop5.magic" xmlns="http://docbook.org/ns/docbook">
@@ -16,6 +16,8 @@
<link linkend="object.unset">__unset()</link>,
<link linkend="object.sleep">__sleep()</link>,
<link linkend="object.wakeup">__wakeup()</link>,
+ <link linkend="object.serialize">__serialize()</link>,
+ <link linkend="object.unserialize">__unserialize()</link>,
<link linkend="object.tostring">__toString()</link>,
<link linkend="object.invoke">__invoke()</link>,
<link linkend="object.set-state">__set_state()</link>,
@@ -41,59 +43,150 @@
</simpara>
</caution>
- <sect2 xml:id="language.oop5.magic.sleep">
+ <sect2 xml:id="language.oop5.magic.sleep">
+ <title>
+ <link linkend="object.sleep">__sleep()</link> и
+ <link linkend="object.wakeup">__wakeup()</link>
+ </title>
+
+ <methodsynopsis xml:id="object.sleep">
+ <modifier>public</modifier> <type>array</type><methodname>__sleep</methodname>
+ <void/>
+ </methodsynopsis>
+ <methodsynopsis xml:id="object.wakeup">
+ <modifier>public</modifier> <type>void</type><methodname>__wakeup</methodname>
+ <void/>
+ </methodsynopsis>
+
+ <para>
+ Функция <function>serialize</function> проверяет, присутствует ли в
+ классе метод с магическим именем <link linkend="object.sleep">__sleep()</link>.
+ Если это так, то этот метод выполняется до любой операции сериализации. Он может
+ очистить объект и должен возвращать массив с именами
+ всех переменных этого объекта, которые должны быть сериализованы.
+ Если метод ничего не возвращает, то сериализуется &null; и
+ выдается предупреждение <constant>E_NOTICE</constant>.
+ </para>
+ <note>
+ <para>
+ Недопустимо возвращать в <link linkend="object.sleep">__sleep()</link>
+ имена закрытых свойств в родительском классе. Это
+ приведет к ошибке уровня <constant>E_NOTICE</constant>.
+ Вместо этого вы можете использовать интерфейс
+ <classname>Serializable</classname>.
+ </para>
+ </note>
+ <para>
+ Предполагаемое использование <link linkend="object.sleep">__sleep()</link>
+ состоит в завершении работы над данными, ждущими обработки или
+ других подобных задач очистки. Кроме того, этот метод может полезен,
+ когда есть очень большие объекты, которые
+ нет необходимости полностью сохранять.
+ </para>
+ <para>
+ С другой стороны, функция <function>unserialize</function> проверяет
+ наличие метода с магическим именем
+ <link linkend="object.wakeup">__wakeup()</link>.
+ Если она имеется, эта функция может восстанавливать любые ресурсы,
+ которые может иметь объект.
+ </para>
+ <para>
+ Предполагаемое использование <link linkend="object.wakeup">__wakeup()</link>
+ заключается в восстановлении любых соединений с базой данных,
+ которые могли быть потеряны во время операции сериализации и
+ выполнения других операций повторной инициализации.
+ </para>
+ <example>
+ <title>Сериализация и десериализация</title>
+ <programlisting role="php">
+<![CDATA[
+<?php
+class Connection
+{
+ protected $link;
+ private $dsn, $username, $password;
+
+ public function __construct($dsn, $username, $password)
+ {
+ $this->dsn = $dsn;
+ $this->username = $username;
+ $this->password = $password;
+ $this->connect();
+ }
+
+ private function connect()
+ {
+ $this->link = new PDO($this->dsn, $this->username, $this->password);
+ }
+
+ public function __sleep()
+ {
+ return array('dsn', 'username', 'password');
+ }
+
+ public function __wakeup()
+ {
+ $this->connect();
+ }
+}?>
+]]>
+ </programlisting>
+ </example>
+ </sect2>
+
+ <sect2 xml:id="language.oop5.magic.serialize">
<title>
- <link linkend="object.sleep">__sleep()</link> и
- <link linkend="object.wakeup">__wakeup()</link>
+ <link linkend="object.serialize">__serialize()</link> и
+ <link linkend="object.unserialize">__unserialize()</link>
</title>
-
- <methodsynopsis xml:id="object.sleep">
- <modifier>public</modifier> <type>array</type><methodname>__sleep</methodname>
+
+ <methodsynopsis xml:id="object.serialize">
+ <modifier>public</modifier> <type>array</type><methodname>__serialize</methodname>
<void/>
</methodsynopsis>
- <methodsynopsis xml:id="object.wakeup">
- <type>void</type><methodname>__wakeup</methodname>
- <void/>
+ <methodsynopsis xml:id="object.unserialize">
+ <modifier>public</modifier> <type>void</type><methodname>__unserialize</methodname>
+ <methodparam><type>array</type><parameter>data</parameter></methodparam>
</methodsynopsis>
-
+
<para>
- Функция <function>serialize</function> проверяет, присутствует ли в вашем
- классе метод с магическим именем <link linkend="object.sleep">__sleep()</link>.
- Если это так, то этот метод выполняется до любой операции сериализации. Он может
- очистить объект и должен возвращать массив с именами
- всех переменных этого объекта, которые должны быть сериализованы.
- Если метод ничего не возвращает, то сериализуется &null; и
- выдается предупреждение <constant>E_NOTICE</constant>.
+ <function>serialize</function> проверяет, есть ли в классе функция с
+ магическим именем <link linkend="object.serialize">__serialize()</link>. Если да, функция
+ выполняется перед любой сериализацией. Она должна создать и вернуть ассоциативный массив пар ключ/значение,
+ которые представляют сериализованную форму объекта.
+ Если массив не возвращен, будет выдано <classname>TypeError</classname>.
</para>
<note>
<para>
- Недопустимо возвращать в <link linkend="object.sleep">__sleep()</link>
- имена закрытых свойств в родительском классе. Это
- приведет к ошибке уровня <constant>E_NOTICE</constant>.
- Вместо этого вы можете использовать интерфейс
- <classname>Serializable</classname>.
+ Если и <link linkend="object.serialize">__serialize()</link> и <link linkend="object.sleep">__sleep()</link> о
+ пределены в одном и том же объекте, будет вызван только метод <link linkend="object.serialize">__serialize()</link>.
+ <link linkend="object.sleep">__sleep()</link> будет игнорироваться. Если объект реализует интерфейс <link linkend="class.serializable">Serializable</link>,
+ метод <literal>serialize()</literal> интерфейса будет игнорироваться, а вместо него будет использован <link linkend="object.serialize">__serialize()</link>.
</para>
</note>
<para>
- Предполагаемое использование <link linkend="object.sleep">__sleep()</link>
- состоит в завершении работы над данными, ждущими обработки или
- других подобных задач очистки. Кроме того, этот метод может полезен,
- когда есть очень большие объекты, которые
- нет необходимости полностью сохранять.
+ Предполагаемое использование <link linkend="object.serialize">__serialize()</link> для определения удобного для сериализации
+ произвольного представления объекта. Элементы массива могут соответствовать свойствам объекта, но это не обязательно.
</para>
<para>
- С другой стороны, функция <function>unserialize</function> проверяет
- наличие метода с магическим именем
- <link linkend="object.wakeup">__wakeup()</link>.
- Если она имеется, эта функция может восстанавливать любые ресурсы,
- которые может иметь объект.
+ И наоборот, <function>unserialize</function> проверяет
+ наличие магической функции <link linkend="object.unserialize">__unserialize()</link>.
+ Если функция присутствует, ей будет передан
+ восстановленный массив, который был возвращен из <link linkend="object.serialize">__serialize()</link>. Затем
+ он может восстановить свойства объекта из этого массива соответствующим образом.
</para>
- <para>
- Предполагаемое использование <link linkend="object.wakeup">__wakeup()</link>
- заключается в восстановлении любых соединений с базой данных,
- которые могли быть потеряны во время операции сериализации и
- выполнения других операций повторной инициализации.
- </para>
+ <note>
+ <para>
+ Если и <link linkend="object.unserialize">__unserialize()</link> и <link linkend="object.wakeup">__wakeup()</link> о
+ пределены в одном и том же объекте, только будет вызван только метод <link linkend="object.unserialize">__unserialize()</link>.
+ <link linkend="object.wakeup">__wakeup()</link> будет игнорироваться.
+ </para>
+ </note>
+ <note>
+ <para>
+ Функция доступна с PHP 7.4.0.
+ </para>
+ </note>
<example>
<title>Сериализация и десериализация</title>
<programlisting role="php">
@@ -103,7 +196,7 @@
{
protected $link;
private $dsn, $username, $password;
-
+
public function __construct($dsn, $username, $password)
{
$this->dsn = $dsn;
@@ -111,19 +204,27 @@
$this->password = $password;
$this->connect();
}
-
+
private function connect()
{
$this->link = new PDO($this->dsn, $this->username, $this->password);
}
-
- public function __sleep()
+
+ public function __serialize(): array
{
- return array('dsn', 'username', 'password');
+ return [
+ 'dsn' => $this->dsn,
+ 'user' => $this->username,
+ 'pass' => $this->password,
+ ];
}
-
- public function __wakeup()
+
+ public function __unserialize(array $data): void
{
+ $this->dsn = $data['dsn'];
+ $this->username = $data['user'];
+ $this->password = $data['pass'];
+
$this->connect();
}
}?>
@@ -131,28 +232,28 @@
</programlisting>
</example>
</sect2>
-
- <sect2 xml:id="language.oop5.magic.tostring">
- <title><link linkend="object.tostring">__toString()</link></title>
- <methodsynopsis xml:id="object.tostring">
- <modifier>public</modifier> <type>string</type><methodname>__toString</methodname>
- <void/>
- </methodsynopsis>
- <para>
- Метод <link linkend="object.tostring">__toString()</link> позволяет классу решать,
- как он должен реагировать при преобразовании в
- строку. Например, что вывести при выполнении <literal>echo $obj;</literal>. Этот метод
- должен возвращать строку, иначе произойдёт фатальная ошибка уровня
- <constant>E_RECOVERABLE_ERROR</constant>.
- </para>
- <warning>
- <simpara>
- Нельзя выбросить исключение из метода <link linkend="object.tostring">__toString()</link> до PHP 7.4.0. Это приведет к фатальной ошибке.
- </simpara>
- </warning>
- <example>
- <title>Простой пример</title>
- <programlisting role="php">
+
+ <sect2 xml:id="language.oop5.magic.tostring">
+ <title><link linkend="object.tostring">__toString()</link></title>
+ <methodsynopsis xml:id="object.tostring">
+ <modifier>public</modifier> <type>string</type><methodname>__toString</methodname>
+ <void/>
+ </methodsynopsis>
+ <para>
+ Метод <link linkend="object.tostring">__toString()</link> позволяет классу решать,
+ как он должен реагировать при преобразовании в
+ строку. Например, что вывести при выполнении <literal>echo $obj;</literal>. Этот метод
+ должен возвращать строку, иначе произойдёт фатальная ошибка уровня
+ <constant>E_RECOVERABLE_ERROR</constant>.
+ </para>
+ <warning>
+ <simpara>
+ Нельзя выбросить исключение из метода <link linkend="object.tostring">__toString()</link> до PHP 7.4.0. Это приведет к фатальной ошибке.
+ </simpara>
+ </warning>
+ <example>
+ <title>Простой пример</title>
+ <programlisting role="php">
<![CDATA[
<?php
// Объявление простого класса
@@ -175,9 +276,9 @@
echo $class;
?>
]]>
- </programlisting>
- &example.outputs;
- <screen>
+ </programlisting>
+ &example.outputs;
+ <screen>
<![CDATA[
Привет
]]>
@@ -195,26 +296,26 @@
метода <link linkend="object.tostring">__toString()</link>
вызывает ошибку <constant>E_RECOVERABLE_ERROR</constant>.
</para>
- </sect2>
-
- <sect2 xml:id="language.oop5.magic.invoke">
- <title><link linkend="object.invoke">__invoke()</link></title>
- <methodsynopsis xml:id="object.invoke">
- <type>mixed</type><methodname>__invoke</methodname>
- <methodparam choice="opt"><parameter>...</parameter></methodparam>
- </methodsynopsis>
+ </sect2>
+
+ <sect2 xml:id="language.oop5.magic.invoke">
+ <title><link linkend="object.invoke">__invoke()</link></title>
+ <methodsynopsis xml:id="object.invoke">
+ <type>mixed</type><methodname>__invoke</methodname>
+ <methodparam choice="opt"><parameter>...</parameter></methodparam>
+ </methodsynopsis>
+ <para>
+ Метод <link linkend="object.invoke">__invoke()</link>
+ вызывается, когда скрипт пытается выполнить объект как функцию.
+ </para>
+ <note>
<para>
- Метод <link linkend="object.invoke">__invoke()</link>
- вызывается, когда скрипт пытается выполнить объект как функцию.
+ Данный метод доступен начиная с PHP 5.3.0.
</para>
- <note>
- <para>
- Данный метод доступен начиная с PHP 5.3.0.
- </para>
- </note>
- <example>
- <title>Использование <link linkend="object.invoke">__invoke()</link></title>
- <programlisting role="php">
+ </note>
+ <example>
+ <title>Использование <link linkend="object.invoke">__invoke()</link></title>
+ <programlisting role="php">
<![CDATA[
<?php
class CallableClass
@@ -229,9 +330,9 @@
var_dump(is_callable($obj));
?>
]]>
- </programlisting>
- &example.outputs;
- <screen>
+ </programlisting>
+ &example.outputs;
+ <screen>
<![CDATA[
int(5)
bool(true)
@@ -238,26 +339,26 @@
]]>
</screen>
</example>
- </sect2>
-
- <sect2 xml:id="language.oop5.magic.set-state">
- <title><link linkend="object.set-state">__set_state()</link></title>
- <methodsynopsis xml:id="object.set-state">
- <modifier>static</modifier> <type>object</type><methodname>__set_state</methodname>
- <methodparam><type>array</type><parameter>properties</parameter></methodparam>
- </methodsynopsis>
- <para>
- Этот <link linkend="language.oop5.static">статический</link> метод
- вызывается для тех классов, которые экспортируются функцией
- <function>var_export</function> начиная с PHP 5.1.0.
- </para>
- <para>
- Единственный параметр этого метода является массив, содержащий экспортируемые
- свойства в виде <literal>array('property' => value, ...)</literal>.
- </para>
- <example>
- <title>Использование <link linkend="object.set-state">__set_state()</link> (начиная с PHP 5.1.0)</title>
- <programlisting role="php">
+ </sect2>
+
+ <sect2 xml:id="language.oop5.magic.set-state">
+ <title><link linkend="object.set-state">__set_state()</link></title>
+ <methodsynopsis xml:id="object.set-state">
+ <modifier>static</modifier> <type>object</type><methodname>__set_state</methodname>
+ <methodparam><type>array</type><parameter>properties</parameter></methodparam>
+ </methodsynopsis>
+ <para>
+ Этот <link linkend="language.oop5.static">статический</link> метод
+ вызывается для тех классов, которые экспортируются функцией
+ <function>var_export</function> начиная с PHP 5.1.0.
+ </para>
+ <para>
+ Единственный параметр этого метода является массив, содержащий экспортируемые
+ свойства в виде <literal>array('property' => value, ...)</literal>.
+ </para>
+ <example>
+ <title>Использование <link linkend="object.set-state">__set_state()</link> (начиная с PHP 5.1.0)</title>
+ <programlisting role="php">
<![CDATA[
<?php
@@ -287,9 +388,9 @@
?>
]]>
- </programlisting>
- &example.outputs;
- <screen>
+ </programlisting>
+ &example.outputs;
+ <screen>
<![CDATA[
object(A)#2 (2) {
["var1"]=>
@@ -312,25 +413,25 @@
лежит на разработчике.
</simpara>
</note>
- </sect2>
-
- <sect2 xml:id="language.oop5.magic.debuginfo">
- <title><link linkend="object.debuginfo">__debugInfo()</link></title>
- <methodsynopsis xml:id="object.debuginfo">
- <type>array</type><methodname>__debugInfo</methodname>
- <void/>
- </methodsynopsis>
- <para>
- Этот метод вызывается функцией <function>var_dump</function>, когда
- необходимо вывести список свойств объекта. Если этот метод не определен,
- тогда будут выведены все свойства объекта c модификаторами public, protected и private.
- </para>
- <para>
- Этот метод был добавлен в PHP 5.6.0.
- </para>
- <example>
- <title>Использование <link linkend="object.debuginfo">__debugInfo()</link></title>
- <programlisting role="php">
+ </sect2>
+
+ <sect2 xml:id="language.oop5.magic.debuginfo">
+ <title><link linkend="object.debuginfo">__debugInfo()</link></title>
+ <methodsynopsis xml:id="object.debuginfo">
+ <type>array</type><methodname>__debugInfo</methodname>
+ <void/>
+ </methodsynopsis>
+ <para>
+ Этот метод вызывается функцией <function>var_dump</function>, когда
+ необходимо вывести список свойств объекта. Если этот метод не определен,
+ тогда будут выведены все свойства объекта c модификаторами public, protected и private.
+ </para>
+ <para>
+ Этот метод был добавлен в PHP 5.6.0.
+ </para>
+ <example>
+ <title>Использование <link linkend="object.debuginfo">__debugInfo()</link></title>
+ <programlisting role="php">
<![CDATA[
<?php
class C {
@@ -350,9 +451,9 @@
var_dump(new C(42));
?>
]]>
- </programlisting>
- &example.outputs;
- <screen>
+ </programlisting>
+ &example.outputs;
+ <screen>
<![CDATA[
object(C)#1 (1) {
["propSquared"]=>
@@ -361,7 +462,7 @@
]]>
</screen>
</example>
- </sect2>
+ </sect2>
</sect1>
<!-- Keep this comment at the end of the file
Modified: phpdoc/ru/trunk/reference/var/functions/serialize.xml
===================================================================
--- phpdoc/ru/trunk/reference/var/functions/serialize.xml 2020-04-03 04:30:35 UTC (rev 349602)
+++ phpdoc/ru/trunk/reference/var/functions/serialize.xml 2020-04-03 04:49:31 UTC (rev 349603)
@@ -1,19 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- EN-Revision: 346043 Maintainer: shein Status: ready -->
+<!-- EN-Revision: 349590 Maintainer: shein Status: ready -->
<!-- Reviewed: yes -->
<!-- $Revision$ -->
<refentry xml:id="function.serialize" xmlns="http://docbook.org/ns/docbook">
-<refnamediv>
+ <refnamediv>
<refname>serialize</refname>
- <refpurpose>Генерирует пригодное для хранения представление переменной</refpurpose>
+ <refpurpose>Генерирует пригодное для хранения представление переменной</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
- <methodsynopsis>
- <type>string</type><methodname>serialize</methodname>
- <methodparam><type>mixed</type><parameter>value</parameter></methodparam>
- </methodsynopsis>
+ <methodsynopsis>
+ <type>string</type><methodname>serialize</methodname>
+ <methodparam><type>mixed</type><parameter>value</parameter></methodparam>
+ </methodsynopsis>
<para>
Генерирует пригодное для хранения представление переменной.
</para>
@@ -26,7 +26,7 @@
функцию <function>unserialize</function>.
</para>
</refsect1>
-
+
<refsect1 role="parameters">
&reftitle.parameters;
<para>
@@ -44,12 +44,14 @@
ссылки будут потеряны.
</para>
<para>
- При сериализации объекта PHP пытается вызвать магический метод
+ При сериализации объекта PHP пытается вызвать магические методы
+ <link linkend="object.serialize">__serialize()</link> или
<link linkend="object.sleep">__sleep()</link> перед сериализацией.
Это делается для того, чтобы позволить объекту в последний
момент произвести очистку и тому подобные операции перед сериализацией.
Аналогично, когда объект восстанавливается функцией
- <function>unserialize</function>, вызывается магический метод <link linkend="object.wakeup">__wakeup()</link>.
+ <function>unserialize</function>, вызывается магический метод <link linkend="object.unserialize">__unserialize()</link> или
+ <link linkend="object.wakeup">__wakeup()</link>.
</para>
<note>
<para>
@@ -63,7 +65,7 @@
</variablelist>
</para>
</refsect1>
-
+
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
@@ -77,7 +79,7 @@
базы данных, а не в полях типа CHAR или TEXT.
</para>
</refsect1>
-
+
<refsect1 role="examples">
&reftitle.examples;
<para>
@@ -107,7 +109,7 @@
</example>
</para>
</refsect1>
-
+
<refsect1 role="notes">
&reftitle.notes;
<note>
@@ -116,8 +118,8 @@
сериализовано. Однако, те из них, которые поддерживают эту
возможность, реализуют или интерфейс
<interfacename>Serializable</interfacename>, или
- магические методы <link linkend="object.sleep">__sleep()</link>
- и <link linkend="object.wakeup">__wakeup()</link>. Если
+ магические методы <link linkend="object.serialize">__serialize()</link>/<link linkend="object.unserialize">__unserialize()</link>
+ или <link linkend="object.sleep">__sleep()</link>/<link linkend="object.wakeup">__wakeup()</link>. Если
встроенный класс не удовлетворяет этим требованиям,
он не может быть надежно сериализован.
</para>
@@ -136,7 +138,7 @@
</para>
</warning>
</refsect1>
-
+
<refsect1 role="seealso">
&reftitle.seealso;
<para>
@@ -147,10 +149,12 @@
<member><link linkend="language.oop5.serialization">Сериализация объектов</link></member>
<member><link linkend="object.sleep">__sleep()</link></member>
<member><link linkend="object.wakeup">__wakeup()</link></member>
+ <member><link linkend="object.serialize">__serialize()</link></member>
+ <member><link linkend="object.unserialize">__unserialize()</link></member>
</simplelist>
</para>
</refsect1>
-
+
</refentry>
<!-- Keep this comment at the end of the file
Modified: phpdoc/ru/trunk/reference/var/functions/unserialize.xml
===================================================================
--- phpdoc/ru/trunk/reference/var/functions/unserialize.xml 2020-04-03 04:30:35 UTC (rev 349602)
+++ phpdoc/ru/trunk/reference/var/functions/unserialize.xml 2020-04-03 04:49:31 UTC (rev 349603)
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- EN-Revision: 349581 Maintainer: shein Status: ready -->
+<!-- EN-Revision: 349590 Maintainer: shein Status: ready -->
<!-- Reviewed: yes -->
<!-- $Revision$ -->
<refentry xml:id="function.unserialize" xmlns="http://docbook.org/ns/docbook">
@@ -52,8 +52,8 @@
</para>
<para>
Если переменная, требующая десериализации, является объектом, то после успешного
- восстановления объекта PHP автоматически попытается вызвать магический метод
- <link linkend="object.wakeup">__wakeup()</link> (если он существует).
+ восстановления объекта PHP автоматически попытается вызвать магические метод
+ <link linkend="object.unserialize">__unserialize()</link> или <link linkend="object.wakeup">__wakeup()</link> (если он существует).
</para>
<para>
<note>
@@ -248,6 +248,8 @@
<member><link linkend="language.oop5.autoload">Автоматическая загрузка классов</link></member>
<member><link linkend="ini.unserialize-callback-func">unserialize_callback_func</link></member>
<member><link linkend="object.wakeup">__wakeup()</link></member>
+ <member><link linkend="object.serialize">__serialize()</link></member>
+ <member><link linkend="object.unserialize">__unserialize()</link></member>
</simplelist>
</para>
</refsect1>