Giới thiệu
Có thể nối tiếp giao diện hiện diện trong thư viện PHP để xây dựng một lớp cung cấp tuần tự hóa được kích thích. serialize () của PHP hàm có thể tuần tự hóa hầu hết các giá trị thành một biểu diễn lưu trữ. Tuy nhiên, các đối tượng của các lớp do người dùng định nghĩa không thể được tuần tự hóa. Giao diện này làm cho nó trở nên khả thi.
Cú pháp
Phương thứcSerializable { /* Methods */ abstract public serialize ( void ) : string abstract public unserialize ( string $serialized ) : void }
Phương pháp
Serializable ::serialize - Biểu diễn chuỗi của đối tượng
Serializable ::unserialize - Xây dựng đối tượng từ biểu diễn chuỗi được tuần tự hóa
Tích hợp serialze () hàm Tạo một biểu diễn lưu trữ của một giá trị
serialize ( mixed $value ) : string
unserialize () function Tạo một giá trị PHP từ một biểu diễn được lưu trữ
unserialize ( string $str [, array $options ] ) : mixed
Ví dụ có thể sắp xếp theo thứ tự
Trong ví dụ sau, một biến chuỗi được sử dụng private proprty của myclass. Khi hàm serialize () tích hợp sẵn sử dụng đối tượng của lớp này làm đối số, phương thức serialize () sẽ tự động được gọi. Tương tự, hàm unserialize () cấu trúc lại đối tượng bằng thuộc tính string prvate.
Ví dụ
<?php class myclass implements Serializable { private $arr; public function __construct() { $this->arr = "TutorialsPoint India (p) Ltd"; } public function serialize() { echo "Serializing object..\n"; return serialize($this->arr); } public function unserialize($data) { echo "Unserializing object..\n"; $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()); ?>
Đầu ra
Chương trình trên hiển thị kết quả sau
Serializing object.. string(55) "C:7:"myclass":36:{s:28:"TutorialsPoint India (p) Ltd";}" Unserializing object.. string(28) "TutorialsPoint India (p) Ltd"