mirror of
https://github.com/php/doc-es.git
synced 2026-03-23 23:12:09 +01:00
149 lines
5.8 KiB
XML
149 lines
5.8 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- EN-Revision: 43dd38b94fbf8a9e3efc9c5bfde27c14b9e2ce9c Maintainer: PhilDaiguille 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>
|
|
<refname>igbinary_unserialize</refname>
|
|
<refpurpose>
|
|
Crea una variable PHP a partir de un valor serializado por <function>igbinary_serialize</function>
|
|
</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsect1 role="description">
|
|
&reftitle.description;
|
|
<methodsynopsis>
|
|
<type>mixed</type><methodname>igbinary_unserialize</methodname>
|
|
<methodparam><type>string</type><parameter>str</parameter></methodparam>
|
|
</methodsynopsis>
|
|
<simpara>
|
|
<function>igbinary_unserialize</function> toma una variable serializada por
|
|
<function>igbinary_serialize</function> y la convierte en una variable PHP.
|
|
</simpara>
|
|
<warning>
|
|
<simpara>
|
|
Las entradas de usuario no confiables no deben pasarse a la función
|
|
<function>igbinary_unserialize</function>.
|
|
La deserialización puede resultar en la ejecución de código cargado y ejecutado durante la instanciación
|
|
y el autochargado de objetos, y así, un usuario malintencionado puede ser capaz de explotar
|
|
este comportamiento.
|
|
En su lugar, un estándar de intercambio seguro como JSON (a través de <function>json_decode</function> y
|
|
<function>json_encode</function>) debe usarse para pasar datos serializados al usuario.
|
|
</simpara>
|
|
<simpara>
|
|
Si es indispensable deserializar datos serializados provenientes del exterior, la función
|
|
<function>hash_hmac</function> puede usarse para validar los datos.
|
|
Es importante verificar que nadie haya alterado los datos.
|
|
</simpara>
|
|
</warning>
|
|
<warning>
|
|
<simpara>
|
|
El protocolo de serialización por igbinary no permite distinguir entre los diferentes grupos de
|
|
referencias. Todas las referencias PHP a un valor dado son vistas como miembros de un mismo
|
|
grupo durante la deserialización, incluso si pertenecían a grupos diferentes antes de la
|
|
serialización.
|
|
</simpara>
|
|
</warning>
|
|
</refsect1>
|
|
|
|
<refsect1 role="parameters">
|
|
&reftitle.parameters;
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><parameter>str</parameter></term>
|
|
<listitem>
|
|
<simpara>
|
|
La cadena serializada, generada por <function>igbinary_serialize</function>.
|
|
</simpara>
|
|
<simpara>
|
|
Si la variable deserializada es un &object;, después de reconstruirla con éxito,
|
|
PHP intentará automáticamente llamar a los métodos mágicos
|
|
<link linkend="object.unserialize">__unserialize()</link> o
|
|
<link linkend="object.wakeup">__wakeup()</link> (si alguno de ellos existe).
|
|
</simpara>
|
|
<note>
|
|
<title>
|
|
La directiva <link linkend="ini.unserialize-callback-func">unserialize_callback_func</link>
|
|
</title>
|
|
<simpara>
|
|
La función de retrollamada especificada en la directiva
|
|
<link linkend="ini.unserialize-callback-func">unserialize_callback_func</link>
|
|
es llamada cuando una clase no definida es deserializada.
|
|
Si ninguna función de retrollamada es especificada, el objeto será instanciado
|
|
como <classname>__PHP_Incomplete_Class</classname>.
|
|
</simpara>
|
|
</note>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</refsect1>
|
|
|
|
<refsect1 role="returnvalues">
|
|
&reftitle.returnvalues;
|
|
<simpara>
|
|
El valor convertido es retornado por la función, y puede ser de tipo <type>&boolean;</type>,
|
|
<type>&integer;</type>, <type>&float;</type>, <type>&string;</type>,
|
|
<type>&array;</type>, <type>&object;</type>, o de tipo <type>null</type>.
|
|
</simpara>
|
|
<simpara>
|
|
Si la cadena pasada no puede ser deserializada, esta función retorna &false; y
|
|
un diagnóstico <constant>E_NOTICE</constant> o <constant>E_WARNING</constant> es emitido.
|
|
</simpara>
|
|
</refsect1>
|
|
|
|
<refsect1 role="errors">
|
|
&reftitle.errors;
|
|
<simpara>
|
|
Los objetos pueden lanzar un <classname>Throwable</classname> en su gestor de deserialización.
|
|
</simpara>
|
|
</refsect1>
|
|
|
|
<refsect1 role="notes">
|
|
&reftitle.notes;
|
|
<warning>
|
|
<simpara>
|
|
&null; o &false; es retornado ya sea en caso de error o después de deserializar
|
|
el resultado de la serialización de &null; o &false;. Es posible discriminar entre estos dos casos
|
|
especiales comparando el valor del parámetro <parameter>str</parameter> con el resultado de la ejecución
|
|
de <code>igbinary_serialize(null)</code> o de <code>igbinary_serialize(false)</code>
|
|
o bien atrapando un diagnóstico <constant>E_NOTICE</constant>.
|
|
</simpara>
|
|
</warning>
|
|
</refsect1>
|
|
|
|
<refsect1 role="seealso">
|
|
&reftitle.seealso;
|
|
<simplelist>
|
|
<member><function>unserialize</function></member>
|
|
<member><function>json_encode</function></member>
|
|
<member><function>json_decode</function></member>
|
|
<member><function>hash_hmac</function></member>
|
|
<member><function>igbinary_serialize</function></member>
|
|
<member><link linkend="language.oop5.autoload">Autocargado de clases</link></member>
|
|
<member><link linkend="ini.unserialize-callback-func">unserialize_callback_func</link></member>
|
|
<member><link linkend="object.wakeup">__wakeup()</link></member>
|
|
<member><link linkend="object.serialize">__serialize()</link></member>
|
|
<member><link linkend="object.unserialize">__unserialize()</link></member>
|
|
</simplelist>
|
|
</refsect1>
|
|
</refentry>
|
|
<!-- Keep this comment at the end of the file
|
|
Local variables:
|
|
mode: sgml
|
|
sgml-omittag:t
|
|
sgml-shorttag:t
|
|
sgml-minimize-attributes:nil
|
|
sgml-always-quote-attributes:t
|
|
sgml-indent-step:1
|
|
sgml-indent-data:t
|
|
indent-tabs-mode:nil
|
|
sgml-parent-document:nil
|
|
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
|
|
sgml-exposed-tags:nil
|
|
sgml-local-catalogs:nil
|
|
sgml-local-ecat-files:nil
|
|
End:
|
|
vim600: syn=xml fen fdm=syntax fdl=2 si
|
|
vim: et tw=78 syn=sgml
|
|
vi: ts=1 sw=1
|
|
-->
|