Files
archived-doc-pt-br/reference/igbinary/functions/igbinary-unserialize.xml
Leonardo Lara Rodrigues 17d859faaf sync line numbers with en rev
2026-01-23 09:16:58 -03:00

147 lines
5.7 KiB
XML
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8"?><!-- EN-Revision: 43dd38b94fbf8a9e3efc9c5bfde27c14b9e2ce9c Maintainer: leonardolara Status: ready -->
<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>
Cria um valor PHP a partir de uma representação armazenada 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> pega uma única variável serializada de
<function>igbinary_serialize</function> e a converte de volta em um valor PHP.
</simpara>
<warning>
<simpara>
Entradas não confiáveis de usuários não devem ser passadas para <function>igbinary_unserialize</function>.
A desserialização pode resultar no carregamento e execução do código devido à instanciação
e carregamento automático do objeto, e um usuário mal-intencionado pode explorar
isso. Em vez disso, um formato de intercâmbio de dados padrão e seguro, como JSON (via
<function>json_decode</function> e <function>json_encode</function>) deve ser usado,
se dados serializados precisarem ser passados para um cliente.
</simpara>
<simpara>
Se houver necessidade de desserializar dados serializados armazenados externamente,
<function>hash_hmac</function> pode ser usada para validação de dados.
É importante garantir que ninguém tenha adulterado os dados.
</simpara>
</warning>
<warning>
<simpara>
O formato de serialização igbinary não fornece uma maneira de distinguir entre diferentes grupos de
referência para o mesmo valor. Todas as referências PHP a um determinado valor são tratadas como parte
do mesmo grupo de referência quando desserializadas,
mesmo que façam parte de grupos de referência diferentes quando serializadas.
</simpara>
</warning>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>str</parameter></term>
<listitem>
<simpara>
A string serializada gerada por <function>igbinary_serialize</function>.
</simpara>
<simpara>
Se o valor que está sendo desserializado for um &object;, após a reconstrução
bem-sucedida do objeto, o igbinary tentará automaticamente chamar os métodos
<link linkend="object.unserialize">__unserialize()</link> ou
<link linkend="object.wakeup">__wakeup()</link> (se existirem).
</simpara>
<note>
<title>
Diretiva
<link linkend="ini.unserialize-callback-func">unserialize_callback_func</link>
</title>
<simpara>
A função de retorno especificada na diretiva
<link linkend="ini.unserialize-callback-func">unserialize_callback_func</link>
é chamada quando uma classe indefinida é desserializada.
Se nenhuma função de retorno for especificada, o objeto será instanciado como
uma <classname>__PHP_Incomplete_Class</classname>.
</simpara>
</note>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<simpara>
O valor convertido é retornado, e pode ser dos tipos <type>bool</type>,
<type>int</type>, <type>float</type>, <type>string</type>,
<type>array</type>, <type>object</type> ou <type>null</type>.
</simpara>
<simpara>
Caso a string passada não for desserializável, &false; é retornado e
um <constant>E_NOTICE</constant> ou <constant>E_WARNING</constant> é emitido.
</simpara>
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
<simpara>
Objetos podem lançar <classname>Throwable</classname>s em seus manipuladores de desserialização.
</simpara>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<warning>
<simpara>
&null; ou &false; serão retornados tanto em caso de erro quanto em caso de desserialização
dos valores &null; ou &false; serializados. É possível capturar este caso especial
comparando <parameter>str</parameter> com
<code>igbinary_serialize(null)</code> ou <code>igbinary_serialize(false)</code>
ou capturando o <constant>E_NOTICE</constant> emitido.
</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">Auto-carregamento de Classes</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
-->