Computer >> Máy Tính >  >> Lập trình >> PHP

Tuần tự hóa đối tượng PHP

Giới thiệu

Biểu diễn chuỗi của bất kỳ đối tượng nào ở dạng luồng byte được lấy bởi serialze () hàm trong PHP. Tất cả các biến thuộc tính của đối tượng được chứa trong chuỗi và các phương thức không được lưu. Chuỗi này có thể được lưu trữ trong bất kỳ tệp nào.

Để lấy đối tượng từ luồng byte, có hàm unserialize (). Định nghĩa về lớp tương ứng phải có sẵn trước khi gọi unserialize () chức năng.

Ví dụ

Trước tiên, chúng ta hãy tuần tự hóa một đối tượng của lớp sau và lưu trữ chuỗi trong một tệp.

<?php
class test1{
   private $name;
   function __construct($arg){
      $this->name=$arg;
   }
}
$obj1=new test1("Kiran");
$str=serialize($obj1);
$fd=fopen("obj.txt","w");
fwrite($fd, $str);
fclose($fd);
?>

Trong thư mục hiện tại, obj.txt được tạo. Để hủy số liệu hóa, mã sau cấu trúc lại đối tượng từ luồng byte được đọc từ tệp đã cho

Ví dụ

<?php
class test1{
   private $name;
   function __construct($arg){
      $this->name=$arg;
   }
   function getname(){
      return $this->name;
   }
}
$filename="obj.txt";
$fd=fopen("obj.txt","r");
$str=fread($fd, filesize($filename));
$obj=unserialize($str);
echo "name: ' . $obj->getname();
?>

Đầu ra

Đoạn mã trên bây giờ trả về tên sau kết quả đầu ra

name: Kiran