El igbinary
PHP extension ofrece un nuevo controlador de serialización/deserialización de sesión que difiere de las implementaciones propias de PHP, concretamente php
y php_binary
.
Para responder a su pregunta: Estos controladores no se comparan en absoluto, son totalmente diferentes. Las diferencias igbinary introduce están documentadas dentro del readme de proyectos.
supongo que está haciendo la pregunta porque has encontrado la palabra binaria dentro de los dos: ig binaria y php_ binaria. Sin embargo, eso no dice mucho. Comparar la php
con el manejador de php_binary
primera:
El manejador de serializar/deserializar php_binary
sesión es casi idéntica a la php
controlador predeterminado. Solo difieren en cómo se codifican los nombres de las variables que están dentro de la sesión.
php_binary
prefijará todos los nombres de variables de sesión con la longitud binaria del nombre. Mientras que con php
cada nombre de variable tiene un sufijo del carácter |
(\x7C
, decimal 124
). Por lo que sé, la serialización de los valores de la variable no difiere en absoluto.
Por lo que la serialización de valores es idéntica entre el controlador php
y php_binary
.
Por lo tanto, junto a la pequeña diferencia en pre/sufijo de nombres de variable de sesión, la pregunta realmente pregunta cómo se compara igbinary
con la serialización de php (que se utiliza en los datos de la sesión). Esas diferencias se describen en el igbinary
readme. Describe muy bien lo que se hace y por qué.
Si te gusta usar igbinary
serialización, así como para serializar/unserialize, la extensión ofrece dos funciones de reemplazo:
igbinary_serialize
y igbinary_unserialize
- utilizados como sus primos php.
Si le preocupan algunos detalles de las diferencias, pregunte.
¡Gracias por la respuesta! No, tengo bastante claro cómo funciona igbinary, simplemente no pude encontrar información sobre php_binary cuando lo busqué en Google. – Toxikman
@Toxikman: Bien, bien entonces. La mayoría de la documentación está dentro de "fuente" :). Ambos, los formatos 'php' y' pbp_binary' no se describen mucho en el Manual de PHP. Siempre puede buscar en el código fuente C y/o aplicar ingeniería inversa a los formatos. – hakre
Sí, pero eso habría llevado 10 veces más tiempo que buscar en Google la respuesta, y luego al publicar una pregunta sobre StackOverflow al respecto, y gracias a usted, la respuesta ahora está disponible para que cualquiera pueda encontrarla en los internets. :-) – Toxikman