1
0
mirror of https://github.com/php/doc-en.git synced 2026-03-23 23:32:18 +01:00

igbinary: fix XML by converting para to simpara tags via script (#5137)

This commit is contained in:
Gina Peter Banyard
2026-01-18 21:41:01 +00:00
committed by GitHub
parent 020edc73be
commit 43dd38b94f
4 changed files with 51 additions and 51 deletions

View File

@@ -11,17 +11,17 @@
<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>
Generates a storable representation of a value.
</para>
<para>
</simpara>
<simpara>
This is useful for storing or passing PHP values around without
losing their type and structure.
</para>
<para>
</simpara>
<simpara>
To make the serialized string into a PHP value again,
<function>igbinary_unserialize</function> can be used.
</para>
</simpara>
</refsect1>
<refsect1 role="parameters">
@@ -30,14 +30,14 @@
<varlistentry>
<term><parameter>value</parameter></term>
<listitem>
<para>
<simpara>
The value to be serialized. <function>igbinary_serialize</function>
handles all types, except the <type>resource</type>-type and some <type>object</type>s (see note below).
Even &array;s that contain references to itself can be processed by <function>igbinary_serialize</function>.
Circular references inside the &array; or &object; that is being serializend will also be stored.
Any other reference will be lost.
</para>
<para>
</simpara>
<simpara>
When serializing objects, igbinary will attempt to call the member functions
<link linkend="object.serialize">__serialize()</link> or
<link linkend="object.sleep">__sleep()</link> prior to serialization.
@@ -45,13 +45,13 @@
to being serialized. Likewise, when the object is restored using
<function>igbinary_unserialize</function> the <link linkend="object.unserialize">__unserialize()</link> or
<link linkend="object.wakeup">__wakeup()</link> member function is called.
</para>
</simpara>
<note>
<para>
<simpara>
Private members of &object;s have the class name prepended to the member
name; protected members have a <literal>'*'</literal> prepended to the member name.
These prepended values have null bytes on either side.
</para>
</simpara>
</note>
</listitem>
</varlistentry>
@@ -60,16 +60,16 @@
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
<simpara>
Returns a string containing a byte-stream representation of
<parameter>value</parameter> that can be stored anywhere.
</para>
<para>
</simpara>
<simpara>
Note that this is a binary string which can include any byte value, and needs
to be stored and handled as such. For example,
<function>igbinary_serialize</function> output should generally be stored in a <literal>BLOB</literal>
field in a database, rather than a <literal>CHAR</literal> or <literal>TEXT</literal> field.
</para>
</simpara>
</refsect1>
<refsect1 role="examples">
@@ -101,18 +101,18 @@ array (
<refsect1 role="notes">
&reftitle.notes;
<note>
<para>
<simpara>
Note that many built-in PHP objects cannot be serialized. However, those with
this ability either implement the <interfacename>Serializable</interfacename> interface or the
magic <link linkend="object.serialize">__serialize()</link>/<link linkend="object.unserialize">__unserialize()</link>
or <link linkend="object.sleep">__sleep()</link>/<link linkend="object.wakeup">__wakeup()</link> methods. If an
internal class does not fulfill any of those requirements, it cannot reliably be
serialized with any serializer.
</para>
<para>
</simpara>
<simpara>
There are some historical exceptions to the above rule, where some internal objects
could be serialized without implementing the interface or exposing the methods.
</para>
</simpara>
</note>
</refsect1>

View File

@@ -18,27 +18,27 @@
<function>igbinary_serialize</function> and converts it back into a PHP value.
</simpara>
<warning>
<para>
<simpara>
Untrusted user input must not be passed to <function>igbinary_unserialize</function>.
Unserialization can result in code being loaded and executed due to object
instantiation and autoloading, and a malicious user may be able to exploit
this. Instead a safe, standard data interchange format such as JSON (via
<function>json_decode</function> and <function>json_encode</function>) should be used,
if serialized data needs to be passed to a client.
</para>
<para>
</simpara>
<simpara>
If there is the need to unserialize externally-stored serialized data,
<function>hash_hmac</function> can be used for data validation.
It is important to ensure that nobody has tampered with the data.
</para>
</simpara>
</warning>
<warning>
<para>
<simpara>
The igbinary serialization format does not provide a way to distinguish between different reference
groups for the same value. All PHP references to a given value as treated as part
of the same reference group when unserialized,
even if they were parts of difference reference groups when serialized.
</para>
</simpara>
</warning>
</refsect1>
@@ -48,27 +48,27 @@
<varlistentry>
<term><parameter>str</parameter></term>
<listitem>
<para>
<simpara>
The serialized string generated by <function>igbinary_serialize</function>.
</para>
<para>
</simpara>
<simpara>
If the value being unserialized is an &object;, after successfully
reconstructing the object igbinary will automatically attempt to call the
<link linkend="object.unserialize">__unserialize()</link> or
<link linkend="object.wakeup">__wakeup()</link> methods (if one exists).
</para>
</simpara>
<note>
<title>
<link linkend="ini.unserialize-callback-func">unserialize_callback_func</link>
directive
</title>
<para>
<simpara>
The callback specified in the
<link linkend="ini.unserialize-callback-func">unserialize_callback_func</link>
directive is called when an undefined class is unserialized.
If no callback is specified, the object will be instantiated as
<classname>__PHP_Incomplete_Class</classname>.
</para>
</simpara>
</note>
</listitem>
</varlistentry>
@@ -77,34 +77,34 @@
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
<simpara>
The converted value is returned, and can be a <type>bool</type>,
<type>int</type>, <type>float</type>, <type>string</type>,
<type>array</type>, <type>object</type>, or <type>null</type>.
</para>
<para>
</simpara>
<simpara>
In case the passed string is not unserializeable, &false; is returned and
<constant>E_NOTICE</constant> or <constant>E_WARNING</constant> is issued.
</para>
</simpara>
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
<para>
<simpara>
Objects may throw <classname>Throwable</classname>s in their unserialization handlers.
</para>
</simpara>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<warning>
<para>
<simpara>
&null; or &false; is returned both in the case of an error and if unserializing
the serialized &null; or &false; value. It is possible to catch this special case by
comparing <parameter>str</parameter> with
<code>igbinary_serialize(null)</code> or <code>igbinary_serialize(false)</code>
or by catching the issued <constant>E_NOTICE</constant>.
</para>
</simpara>
</warning>
</refsect1>

View File

@@ -57,10 +57,10 @@
<type>bool</type>
</term>
<listitem>
<para>
<simpara>
Enable or disable compacting of duplicate strings.
The default is On.
</para>
</simpara>
</listitem>
</varlistentry>
@@ -70,9 +70,9 @@
<type>string</type>
</term>
<listitem>
<para>
<simpara>
Igbinary is used as session handler by setting this value to <literal>igbinary</literal>.
</para>
</simpara>
</listitem>
</varlistentry>

View File

@@ -1,19 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<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;