|
12 | 12 | <section xml:id="serializable.intro"> |
13 | 13 | &reftitle.intro; |
14 | 14 | <para> |
15 | | - Интерфейс для индивидуальной сериализации. |
| 15 | + Интерфейс ввели для пользовательской сериализации. |
16 | 16 | </para> |
17 | 17 |
|
18 | 18 | <para> |
19 | | - Классы, реализующие этот интерфейс, больше не поддерживают |
20 | | - <link linkend="object.sleep">__sleep()</link> и |
21 | | - <link linkend="object.wakeup">__wakeup()</link>. Метод serialize вызывается |
22 | | - всякий раз, когда необходима сериализация экземпляру класса. Этот метод не вызывает __destruct() |
23 | | - и не имеет никаких побочных действий кроме тех, которые запрограммированы |
24 | | - внутри него. Когда данные десериализуются, класс известен и соответствующий метод |
25 | | - unserialize() вызывается как конструктор вместо вызова __construct(). Если вам необходимо |
26 | | - вызвать стандартный конструктор, вы можете это сделать в этом методе. |
| 19 | + Классы, которые реализуют этот интерфейс, больше не поддерживают магические методы |
| 20 | + <link linkend="object.sleep">__sleep()</link> |
| 21 | + и <link linkend="object.wakeup">__wakeup()</link>. При каждой сериализации |
| 22 | + экземпляра класса вызывается интерфейсный метод serialize. Этот метод не вызывает магический __destruct() |
| 23 | + и не выполняет побочных действий, кроме тех, которые запрограммировали |
| 24 | + внутри метода. Механизм сериализации знает класс, представление которого десериализует, |
| 25 | + и вместо вызова метода __construct() как конструктор вызывается интерфейсный метод unserialize(), |
| 26 | + который соответствует классу. Стандартный конструктор вызывают в методе десериализации, |
| 27 | + если требуется. |
27 | 28 | </para> |
28 | 29 |
|
29 | 30 | <warning> |
30 | 31 | <para> |
31 | | - Начиная с PHP 8.1.0, класс, который реализует <interfacename>Serializable</interfacename> без реализации <link linkend="object.serialize">__serialize()</link> и <link linkend="object.unserialize">__unserialize()</link> выдаст предупреждение об устаревании. |
| 32 | + Начиная с PHP 8.1.0 класс, который реализует интерфейс |
| 33 | + <interfacename>Serializable</interfacename> без реализации |
| 34 | + методов <link linkend="object.serialize">__serialize()</link> |
| 35 | + и <link linkend="object.unserialize">__unserialize()</link>, |
| 36 | + выдаст предупреждение об устаревании. |
32 | 37 | </para> |
33 | 38 | </warning> |
34 | 39 | </section> |
|
0 commit comments