mirror of
https://github.com/php/doc-ru.git
synced 2026-03-23 23:32:16 +01:00
igbinary : fix XML by converting para to simpara tags via script
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: edd5686aff3f4b2d14eec931b875ee4e0e152b27 Maintainer: sergey Status: ready -->
|
||||
<!-- EN-Revision: 43dd38b94fbf8a9e3efc9c5bfde27c14b9e2ce9c Maintainer: sergey Status: ready -->
|
||||
<!-- Reviewed: no -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="function.igbinary-serialize">
|
||||
<refnamediv>
|
||||
@@ -13,16 +13,16 @@
|
||||
<type class="union"><type>string</type><type>false</type></type><methodname>igbinary_serialize</methodname>
|
||||
<methodparam><type>mixed</type><parameter>value</parameter></methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
Создаёт сохраняемое представление значения.
|
||||
</para>
|
||||
<para>
|
||||
</simpara>
|
||||
<simpara>
|
||||
Полезно для хранения или передачи значений PHP без потери их типа и структуры.
|
||||
</para>
|
||||
<para>
|
||||
</simpara>
|
||||
<simpara>
|
||||
Чтобы снова превратить сериализованную строку в значение PHP,
|
||||
можно использовать <function>igbinary_unserialize</function>.
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="parameters">
|
||||
@@ -31,27 +31,27 @@
|
||||
<varlistentry>
|
||||
<term><parameter>value</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
<simpara>
|
||||
Значение, которое необходимо сериализовать. <function>igbinary_serialize</function>
|
||||
обрабатывает все типы, кроме ресурсов (<type>resource</type>) и некоторых объектов (<type>object</type>) (смотрите примечание ниже).
|
||||
Даже массивы (&array;), содержащие ссылки на себя, могут быть сериализованы функцией <function>igbinary_serialize</function>.
|
||||
Циклические ссылки внутри сериализующихся массивов (&array;) или объектов (&object;) также будут сохранены.
|
||||
Любая другая ссылка будет потеряна.
|
||||
</para>
|
||||
<para>
|
||||
</simpara>
|
||||
<simpara>
|
||||
При сериализации объектов, igbinary будет пытаться вызвать функции
|
||||
<link linkend="object.serialize">__serialize()</link> или <link linkend="object.sleep">__sleep()</link> перед сериализацией.
|
||||
Это позволит объекту выполнить любую очистку в последнюю минуту и т.д. перед сериализацией.
|
||||
Аналогичным образом, когда объект восстанавливается с помощью <function>igbinary_unserialize</function>,
|
||||
вызывается функция <link linkend="object.unserialize">__unserialize()</link> или
|
||||
<link linkend="object.wakeup">__wakeup()</link>.
|
||||
</para>
|
||||
</simpara>
|
||||
<note>
|
||||
<para>
|
||||
<simpara>
|
||||
Начало имён закрытых членов объекта (&object;) дополняются именем класса,
|
||||
а начало имён защищённых членов символом <literal>'*'</literal>.
|
||||
Эти дополненные значения окружаются нулевым байтом с обеих сторон.
|
||||
</para>
|
||||
</simpara>
|
||||
</note>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@@ -60,16 +60,16 @@
|
||||
|
||||
<refsect1 role="returnvalues">
|
||||
&reftitle.returnvalues;
|
||||
<para>
|
||||
<simpara>
|
||||
Возвращает строку, содержащую представление потока байтов <parameter>value</parameter>,
|
||||
которое может быть сохранено где угодно.
|
||||
</para>
|
||||
<para>
|
||||
</simpara>
|
||||
<simpara>
|
||||
Обратите внимание, что это двоичная строка, которая может включать в себя любое байтовое значение
|
||||
и должна храниться и обрабатываться как таковая.
|
||||
Например, вывод функции <function>igbinary_serialize</function> обычно должен храниться
|
||||
в поле базы данных <literal>BLOB</literal>, а не в поле <literal>CHAR</literal> или <literal>TEXT</literal>.
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="examples">
|
||||
@@ -101,18 +101,18 @@ array (
|
||||
<refsect1 role="notes">
|
||||
&reftitle.notes;
|
||||
<note>
|
||||
<para>
|
||||
<simpara>
|
||||
Обратите внимание, что многие встроенные объекты PHP не могут быть сериализованы.
|
||||
Однако те, у кого есть такая возможность, реализуют либо интерфейс <interfacename>Serializable</interfacename>,
|
||||
либо магические методы <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>
|
||||
<para>
|
||||
</simpara>
|
||||
<simpara>
|
||||
Есть несколько исторических исключений из приведённого выше правила, когда некоторые внутренние объекты
|
||||
могут быть сериализованы без реализации интерфейса или раскрытия методов.
|
||||
</para>
|
||||
</simpara>
|
||||
</note>
|
||||
</refsect1>
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: edd5686aff3f4b2d14eec931b875ee4e0e152b27 Maintainer: sergey Status: ready -->
|
||||
<!-- EN-Revision: 43dd38b94fbf8a9e3efc9c5bfde27c14b9e2ce9c Maintainer: sergey Status: ready -->
|
||||
<!-- Reviewed: no -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="function.igbinary-unserialize">
|
||||
<refnamediv>
|
||||
@@ -20,25 +20,25 @@
|
||||
из функции <function>igbinary_serialize</function> и преобразовывает её обратно в PHP-значение.
|
||||
</simpara>
|
||||
<warning>
|
||||
<para>
|
||||
<simpara>
|
||||
Нельзя передавать в функцию <function>igbinary_unserialize</function> ненадёжные пользовательские входные данные.
|
||||
При десериализации инстанцируются объекты и автоматически загружаются классы, что ведёт к риску загрузки и выполнения кода,
|
||||
чем пользуются злоумышленники. Вместо этого пользуются безопасным стандартным форматом обмена данными
|
||||
наподобие JSON, который обрабатывают функциями <function>json_decode</function> и <function>json_encode</function>,
|
||||
если сериализованные данные требуется передать клиенту.
|
||||
</para>
|
||||
<para>
|
||||
</simpara>
|
||||
<simpara>
|
||||
Сериализованные данные внешнего хранилища проверяют функцией <function>hash_hmac</function>,
|
||||
если требуется десериализовать такие данные.
|
||||
Важно убедиться, что никто не подделал данные.
|
||||
</para>
|
||||
</simpara>
|
||||
</warning>
|
||||
<warning>
|
||||
<para>
|
||||
<simpara>
|
||||
Формат сериализации модуля igbinary не различает разные ссылочные группы для одного и того же значения.
|
||||
Каждая PHP-ссылка на заданное значение при десериализации обрабатывается как часть одной и той же группы ссылок,
|
||||
даже если при сериализации ссылка была частью разных групп ссылок.
|
||||
</para>
|
||||
</simpara>
|
||||
</warning>
|
||||
</refsect1>
|
||||
|
||||
@@ -48,25 +48,25 @@
|
||||
<varlistentry>
|
||||
<term><parameter>str</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
<simpara>
|
||||
Строка, которую сериализовали функцией <function>igbinary_serialize</function>.
|
||||
</para>
|
||||
<para>
|
||||
</simpara>
|
||||
<simpara>
|
||||
После успешного восстановления объекта модуль igbinary автоматически попытается вызвать
|
||||
методы <link linkend="object.unserialize">__unserialize()</link> или <link linkend="object.wakeup">__wakeup()</link>,
|
||||
если десериализуемое значение — объект (&object;) и методы определили в классе.
|
||||
</para>
|
||||
</simpara>
|
||||
<note>
|
||||
<title>
|
||||
Директива
|
||||
<link linkend="ini.unserialize-callback-func">unserialize_callback_func</link>
|
||||
</title>
|
||||
<para>
|
||||
<simpara>
|
||||
Callback-функция, которую указали в директиве <link linkend="ini.unserialize-callback-func">unserialize_callback_func</link>,
|
||||
вызывается при десериализации неопределённого класса.
|
||||
PHP создаст объект <classname>__PHP_Incomplete_Class</classname>,
|
||||
если callback-функцию не указали.
|
||||
</para>
|
||||
</simpara>
|
||||
</note>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@@ -75,35 +75,35 @@
|
||||
|
||||
<refsect1 role="returnvalues">
|
||||
&reftitle.returnvalues;
|
||||
<para>
|
||||
<simpara>
|
||||
Функция возвращает преобразованное значение с типом <type>bool</type>,
|
||||
<type>int</type>, <type>float</type>, <type>string</type>,
|
||||
<type>array</type>, <type>object</type> или <type>null</type>.
|
||||
</para>
|
||||
<para>
|
||||
</simpara>
|
||||
<simpara>
|
||||
Функция возвращает &false; и выдаёт
|
||||
ошибку уровня <constant>E_NOTICE</constant> или <constant>E_WARNING</constant>,
|
||||
если заданную строку невозможно десериализовать.
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="errors">
|
||||
&reftitle.errors;
|
||||
<para>
|
||||
<simpara>
|
||||
Иногда в своих обработчиках десериализации объекты выбрасывают исключение <classname>Throwable</classname>.
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="notes">
|
||||
&reftitle.notes;
|
||||
<warning>
|
||||
<para>
|
||||
<simpara>
|
||||
Значение &null; или &false; возвращается как при ошибке, так и при десериализации
|
||||
сериализованного значения &null; или &false;.
|
||||
Этот особый случай можно определить, сравнив<parameter>str</parameter> с
|
||||
<code>igbinary_serialize(null)</code> или <code>igbinary_serialize(false)</code>
|
||||
или обработав выданную ошибку уровня <constant>E_NOTICE</constant>.
|
||||
</para>
|
||||
</simpara>
|
||||
</warning>
|
||||
</refsect1>
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: edd5686aff3f4b2d14eec931b875ee4e0e152b27 Maintainer: sergey Status: ready -->
|
||||
<!-- EN-Revision: 43dd38b94fbf8a9e3efc9c5bfde27c14b9e2ce9c Maintainer: sergey Status: ready -->
|
||||
<!-- Reviewed: no -->
|
||||
<section xmlns="http://docbook.org/ns/docbook" xml:id="igbinary.configuration">
|
||||
&reftitle.runtime;
|
||||
@@ -59,10 +59,10 @@
|
||||
<type>bool</type>
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
<simpara>
|
||||
Включение или отключение сжатия повторяющихся строк.
|
||||
По умолчанию On (включено).
|
||||
</para>
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
@@ -72,9 +72,9 @@
|
||||
<type>string</type>
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
<simpara>
|
||||
Igbinary будет использоваться как обработчик сессии, если установить значение <literal>igbinary</literal>.
|
||||
</para>
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
|
||||
@@ -1,25 +1,26 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 605553e228c78a9368736f4ff36d185cf7e6eb22 Maintainer: sergey Status: ready -->
|
||||
<!-- EN-Revision: 43dd38b94fbf8a9e3efc9c5bfde27c14b9e2ce9c Maintainer: sergey Status: ready -->
|
||||
<!-- Reviewed: no -->
|
||||
<chapter xml:id="igbinary.setup" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="igbinary.setup">
|
||||
&reftitle.setup;
|
||||
|
||||
<section xml:id="igbinary.installation">
|
||||
&reftitle.install;
|
||||
<para>
|
||||
<simpara>
|
||||
&pecl.moved;
|
||||
</para>
|
||||
<para>
|
||||
</simpara>
|
||||
<simpara>
|
||||
&pecl.info;
|
||||
<link xlink:href="&url.pecl.package;igbinary">&url.pecl.package;igbinary</link>.
|
||||
</para>
|
||||
<para>
|
||||
</simpara>
|
||||
<simpara>
|
||||
&pecl.windows.download.avail;
|
||||
</para>
|
||||
</simpara>
|
||||
</section>
|
||||
|
||||
&reference.igbinary.ini;
|
||||
</chapter><!-- Keep this comment at the end of the file
|
||||
</chapter>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
|
||||
Reference in New Issue
Block a user