Using __sleep()
Object serialization is another important aspect of OOP. PHP provides a serialize() function that allows us to serialize a value passed to it. The result is a string containing a byte-stream representation of any value that can be stored in PHP. Serializing the scalar data types and simple objects is pretty straightforward, as per the following example:
<?php $age = 34; $name = 'John'; $obj = new stdClass(); $obj->age = 34; $obj->name = 'John'; var_dump(serialize($age)); var_dump(serialize($name)); var_dump(serialize($obj));
The resulting output is shown as follows:
string(5) "i:34;"
string(11) "s:4:"John";"
string(56) "O:8:"stdClass":2:{s:3:"age";i:34;s:4:"name";s:4:"John";}"Even a simple custom class can be easily :
<?php
class User
{
public $name = 'John';
private $age = 34;
protected $salary = 4200.00;
}
$user = new User();
var_dump(serialize($user));The preceding code results in the following output:
string(81) "O:4:"User":3:{s:4:"name";s:4:"John"...