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:
committed by
GitHub
parent
020edc73be
commit
43dd38b94f
@@ -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>
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user