igbinary_unserialize

(PECL igbinary >= 1.1.1)

igbinary_unserialize Cria um valor PHP a partir de uma representação armazenada por igbinary_serialize()

Descrição

igbinary_unserialize(string $str): mixed

igbinary_unserialize() pega uma única variável serializada de igbinary_serialize() e a converte de volta em um valor PHP.

Warning

Entradas não confiáveis de usuários ​​não devem ser passadas para igbinary_unserialize(). 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 json_decode() e json_encode()) deve ser usado, se dados serializados precisarem ser passados ​​para um cliente.

Se houver necessidade de desserializar dados serializados armazenados externamente, hash_hmac() pode ser usada para validação de dados. É importante garantir que ninguém tenha adulterado os dados.

Warning

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.

Parâmetros

str

A string serializada gerada por igbinary_serialize().

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 __unserialize() ou __wakeup() (se existirem).

Note: Diretiva unserialize_callback_func

A função de retorno especificada na diretiva unserialize_callback_func é chamada quando uma classe indefinida é desserializada. Se nenhuma função de retorno for especificada, o objeto será instanciado como uma __PHP_Incomplete_Class.

Valor Retornado

O valor convertido é retornado, e pode ser dos tipos bool, int, float, string, array, object ou null.

Caso a string passada não for desserializável, false é retornado e um E_NOTICE ou E_WARNING é emitido.

Erros/Exceções

Objetos podem lançar Throwables em seus manipuladores de desserialização.

Notas

Warning

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 str com igbinary_serialize(null) ou igbinary_serialize(false) ou capturando o E_NOTICE emitido.

Veja Também