Lavorare con i dati è un'attività  importante nello sviluppo di una applicazione, qualche volta però i normali tipi di dato non bastano e si ha la necessità  di salvare un array nello stato in cui si trova per poterlo recuperare in seguito. L'idea di base è quella di "trasformare" l'array in una stringa, in modo da poterlo salvare (serializzare) nel DB o in un file e da lì recuperarlo, per "trasformarlo" nuovamente in un array (deserializzare).

PHP ha due funzioni built-in pensate appositamente per questa operazione serialize() e unserialize(), che, come descritto nel manuale, servono a linearizzare e delinearizzare una variabile. Queste funzioni sono perfette nel caso in cui il valore da serializzare sia un oggetto o una struttura dati temporanea, quando il campo applicativo rimanga all'interno di PHP o quando si voglia trarre beneficio dai magic_methods chiamati trasparentemente da queste funzioni.

Quando invece il valore da serializzare è una struttura dati permanente, da condividere anche al di fuori della nostra applicazione PHP, magari con Javascript o con altri linguaggi, è conveniente utilizzare la funzione json_encode() e la funzione opposta json_decode(), che operano similmente a serialize(), ma ritornano una linearizzazione JSON, a mio parere più compatta e sicuramente maggiormente trasportabile.

1 CommentoDi' la tua

Il tuo indirizzo email non sarà mostrato pubblicamente. I campi obbligatori sono contrassegnati da *

La serializzazione é interessante perché richiama i metodi magici __sleep e __wakeup: http://www.matriz.it/tutorials/6-php/15-la_funzione_serialize_di_php/

Mattia
Mattia