(PECL igbinary >= 1.1.1)
igbinary_unserialize — Crea una variable PHP a partir de un valor serializado por igbinary_serialize()
igbinary_unserialize() toma una variable serializada por igbinary_serialize() y la convierte en una variable PHP.
Las entradas de usuario no confiables no deben pasarse a la función igbinary_unserialize(). 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 json_decode() y json_encode()) debe usarse para pasar datos serializados al usuario.
Si es indispensable deserializar datos serializados provenientes del exterior, la función hash_hmac() puede usarse para validar los datos. Es importante verificar que nadie haya alterado los datos.
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.
str
La cadena serializada, generada por igbinary_serialize().
Si la variable deserializada es un object, después de reconstruirla con éxito, PHP intentará automáticamente llamar a los métodos mágicos __unserialize() o __wakeup() (si alguno de ellos existe).
Nota: La directiva unserialize_callback_func
La función de retrollamada especificada en la directiva unserialize_callback_func es llamada cuando una clase no definida es deserializada. Si ninguna función de retrollamada es especificada, el objeto será instanciado como __PHP_Incomplete_Class.
El valor convertido es retornado por la función, y puede ser de tipo bool, int, float, string, array, object, o de tipo null.
Si la cadena pasada no puede ser deserializada, esta función retorna false
y
un diagnóstico E_NOTICE
o E_WARNING
es emitido.
Los objetos pueden lanzar un Throwable en su gestor de deserialización.
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 str
con el resultado de la ejecución
de igbinary_serialize(null)
o de igbinary_serialize(false)
o bien atrapando un diagnóstico E_NOTICE
.