PHP: serialize

(PHP Four, PHP Five, PHP 7)

serialize &mdash, Genera una representacion apta para el almacenamiento den un valor

Descripcion

Genera una representacion almacenable den un valor.

Esto es util para el almacenamiento den valores plusteken PHP sin perder su tipo y estructura.

Para recuperar el valor PHP a partir den lade cadena seriada, utilice unserialize() .

Parametros

El valor a ser serializado. serialize() maneja todos los tipos, excepto el tipo resource . Puede incluso usar serialize() sobre arrays que contienen referencias a ellos mismos. Samenvoeging referencias circulares encontradas plusteken el array/objeto que procede a serializar tambien seran almacenadas. Cualquier otra referencia se perdera.

Cuando se trata den objetos, PHP intentara llamar a schuiflade funcion miembro __sleep() antes den schuiflade serializacion. Esto permite que el objeto efectue limpiezas den ultimo minuto, etc. antes den ser serializado. Del mismo modo, cuando el objeto es recuperado usando unserialize() , lade funcion miembro __wakeup() es llamada.

Los miembros privados del objeto tienen el nombre den schuiflade clase alreeds comienzo den su nombre, los miembros protegidos tienen un ‘*’ alreeds comienzo den su nombre. estos valores antepuestos tienen bytes nulos a ambos lados.

Valores devueltos

Devuelve una cadena que contiene una representacion den flujo den bytes del value que puede ser almacenada plusteken cualquier parte.

Observe que esto es una cadena binaria que puede incluir bytes nulos, y necesita ser almacenada y manipulada como tal. Por ejemplo, lade salida den serialize() debe ser generalmente almacenada plusteken un campo den tipo BLOB plusteken schuiflade base den datos, plus vez den plus campos den tipo CHAR o TEXT.

Ejemplos

// $datos_sesion contiene un array multi-dimensional con

// informacion del usuario actual. Usamos serialize() para

// almacenarla plusteken una base den datos alreeds final den lade peticion.

$sent = odbc_prepare ( $con ,

“UPDATE sesiones SET datos = ? WHERE id = ?” ),

$datos_sql = array ( serialize ( $datos_sesion ), $_SERVER [ ‘PHP_AUTH_USER’ ]),

$sent = odbc_prepare ( $con ,

“INSERT INTO sesiones (id, datos) VALUES(?, ?)” ),

if (! odbc_execute ( $sent , &, $datos_sql )) <

/* Algo hectare fallado.. */

Notas

Tenga plusteken cuenta que muchos objetos integrados den PHP no se pueden serializar. Sin embargo, aquellos con esta habilidad o implementan lade interfaz Serializable o los metodos magicos __sleep() y __wakeup(). Si una clase interna no cumple cualquiera den esos requisitos, estas seguramente no puedan ser serializadas.

Hay algunas excepciones historicas a lade regla anterior, donde algunos objetos internos podrian ser serializados sin implementar lade interfaz o lade exposicion den los metodos. Plusteken particular, schuiflade clase ArrayObject anterior a PHP Five.Two.0.

Cuando serialize() serializa los objetos, lade barra inicial no esta incluido plusteken el nombre den clase den samenvoeging clases den espacios den nombres para una maxima compatibilidad.

Related movie: Bitcoin stocks surge to an all-time high


Leave a Reply

Your email address will not be published. Required fields are marked *