Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
PHP Serializable interface
Introduction
The Serializable interface is present in PHP library to build a class that provides custimised serialzing. PHP's serialize() function is able to serialize most of the values to a storable representation. However, objects of user defined classes can not be serialized. This interface makes it possible.
Syntax
Serializable {
/* Methods */
abstract public serialize ( void ) : string
abstract public unserialize ( string $serialized ) : void
}
Methods
Serializable::serialize — String representation of object
Serializable::unserialize — Constructs the object from serialized string representation
The built-in serialze() function Generates a storable representation of a value
serialize ( mixed $value ) : string
unserialize() function Creates a PHP value from a stored representation
unserialize ( string $str [, array $options ] ) : mixed
Serializable Example
In following example, a string variable is used private proprty of myclass. When built-in serialize() function uses object of this class as argument, serialize() method is automatically called. Similarly, unserialize() function reconstructs the object with string prvate property.
Example
<?php
class myclass implements Serializable {
private $arr;
public function __construct() {
$this->arr = "TutorialsPoint India (p) Ltd";
}
public function serialize() {
echo "Serializing object..
";
return serialize($this->arr);
}
public function unserialize($data) {
echo "Unserializing object..
";
$this->arr = unserialize($data);
}
public function getdata() {
return $this->arr;
}
}
$obj = new myclass;
$serobj = serialize($obj);
var_dump ($serobj);
$obj1 = unserialize($serobj);
var_dump($obj1->getdata());
?>
Output
Above program shows following output
Serializing object..
string(55) "C:7:"myclass":36:{s:28:"TutorialsPoint India (p) Ltd";}"
Unserializing object..
string(28) "TutorialsPoint India (p) Ltd"