mirror of
https://github.com/php/doc-pt_br.git
synced 2026-03-24 15:12:23 +01:00
147 lines
5.7 KiB
XML
147 lines
5.7 KiB
XML
<?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
|
||
-->
|