Este es un howto o codekata para serializar y deserializar objetos de información en PHP. La idea es la misma que en este otro post sobre serializar en Java. Serializar en programación es un proceso por el cual los objetos programados, las clases, se puede poner en series de datos, de forma que así representan toda su información para que la transmitamos por red, a ficheros, entre procesos..
Al grano, el código fuente en PHP
Este proceso de serializar y deserializar se realiza mediente las funciones serialize() y unserialize(). Para almacenar estos datos en fichero con file_put_contents() y file_get_contents() queda bien corto el programa, por ejemplo:
<?php
class ObjectABC
{
public $variable1;
public $variable2;
public $variable3;
public function saySomething()
{
echo 'Something'.PHP_EOL;
}
}
$objectABC = new ObjectABC();
$objectABC->variable1 = 'abc';
$objectABC->variable2 = 'def';
$objectABC->variable3 = 'ghi';
$serialized = serialize($objectABC);
echo 'Storing in file: '.$serialized.PHP_EOL;
file_put_contents('serialize.txt', $serialized);
$temp = file_get_contents('serialize.txt');
$temp = unserialize($temp);
echo 'Restored from file: '.print_r($temp, true).PHP_EOL;
$temp->saySomething();
Si lo lanzamos desde línea de comandos se debería de ver algo como en la imagen del principio. Más información en la documentación oficial:
https://www.php.net/manual/es/function.serialize.php