Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

PHP Serializable interface

Giới thiệu

Interface Serializable trong thư viện PHP dùng để xây dựng class cung cấp serialize tùy chỉnh. Hàm serialize() của PHP serialize được hầu hết giá trị thành biểu diễn lưu trữ. Tuy nhiên, đối tượng class do user định nghĩa không serialize được. Interface này làm cho việc đó trở nên khả thi.

Cú pháp

Serializable { abstract public serialize ( void ) : string abstract public unserialize ( string $serialized ) : void }

Phương thức

  • Serializable::serialize - Biểu diễn chuỗi của đối tượng.
  • Serializable::unserialize - Khôi phục đối tượng từ chuỗi serialized.

Hàm tích hợp serialize() tạo biểu diễn lưu trữ:

serialize ( mixed $value ) : string

Hàm unserialize() tạo giá trị PHP từ biểu diễn lưu trữ:

unserialize ( string $str [, array $options ] ) : mixed

Ví dụ Serializable

Ví dụ dùng biến string private trong myclass. Khi serialize() tích hợp dùng đối tượng class này, serialize() tự động gọi. Tương tự unserialize() khôi phục đối tượng với thuộc tính string private.

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()); ?>

Kết quả

Serializing object.. string(55) "C:7:\"myclass\":36:{s:28:\"TutorialsPoint India (p) Ltd\";}" Unserializing object.. string(28) "TutorialsPoint India (p) Ltd"