Skip to content

Commit fb9afb9

Browse files
authored
serializable.xml Исправил формулировки
Для методов `serialize()` и `deserialize()` добавил указание на принадлежность методов интерфейсу, чтобы у читателя не возникали риски перепутать глобальные ф-ции (de)serialize() с методами интерфейса
1 parent f2a7f57 commit fb9afb9

1 file changed

Lines changed: 15 additions & 10 deletions

File tree

language/predefined/serializable.xml

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,23 +12,28 @@
1212
<section xml:id="serializable.intro">
1313
&reftitle.intro;
1414
<para>
15-
Интерфейс для индивидуальной сериализации.
15+
Интерфейс ввели для пользовательской сериализации.
1616
</para>
1717

1818
<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+
если требуется.
2728
</para>
2829

2930
<warning>
3031
<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+
выдаст предупреждение об устаревании.
3237
</para>
3338
</warning>
3439
</section>

0 commit comments

Comments
 (0)