En mi corta edad con WordPress, he visto que WordPress mismo y sus complementos amigables están utilizando PHP serialize()
para almacenar datos en db en muchos casos. Pero en una búsqueda reciente encontré un serio apoyo de la comunidad para json_encode()
el serialize()
.
- Una prueba que prueba
json_encode()
es mejor queserialize()
- StackOverflow - Razones por las que
json_encode()
se pueden usar y por qué no - StackOverflow
Y personalmente probé una matriz asociativa con ambos, que muestra:
serialize()
almacena 342 caracteresjson_encode()
almacena 285 caracteres
¿Por qué estoy preguntando esto?
Estoy en un proyecto mientras voy a almacenar metacampos repetidos en una publicación. Dónde:
- Los datos estarían básicamente en inglés, pero a veces pueden ser bengalíes
- Los datos serían una matriz asociativa, de 3 niveles de profundidad (espero haber entendido los niveles correctamente):
array(
1 => array(
'key'=>'value',
'key2'=>'value'
),
2 => array(
'key'=>'value',
'key2'=>'value'
)
)
He comprobado que el campo de la postmeta
tabla es meta_value
un longtext
, eso significa una longitud de 4,294,967,295 caracteres (4GB).
Así que necesito una solución robusta para almacenar cosas.