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

Lưu trữ các đối tượng trong phiên PHP

Hàm serialize () trong PHP có thể được sử dụng trước khi lưu trữ đối tượng và hàm unserialize () có thể được gọi khi đối tượng cần được truy xuất từ ​​phiên.

Hàm chuyển đổi một biểu diễn lưu trữ của một giá trị cụ thể thành một chuỗi các bit. Điều này được thực hiện để dữ liệu có thể được lưu trữ trong tệp, bộ đệm bộ nhớ hoặc có thể được truyền qua mạng.

Sử dụng chức năng tuần tự hóa để lưu trữ đối tượng -

session_start();
$object = new sample_object();
$_SESSION['sample'] = serialize($object);

Phiên được bắt đầu bằng cách sử dụng hàm ‘session_start’ và một đối tượng mới được tạo. Đối tượng được tạo được tuần tự hóa bằng cách sử dụng hàm 'serialize' và được gán cho biến _SESSION.

Ví dụ

<?php
$data = serialize(array("abc", "defgh", "ijkxyz"));
   echo $data;
?>

Đầu ra

Điều này sẽ tạo ra kết quả sau -

a:3:{i:0;s:3:"abc";i:1;s:5:"defgh";i:2;s:6:"ijkxyz";}

Sử dụng hàm unserialize để truy xuất đối tượng -

session_start();
$object = unserialize($_SESSION['sample']);

Như thường lệ, phiên được bắt đầu bằng cách sử dụng hàm ‘session_start’ và đối tượng đã được tạo trước đó, được tuần tự hóa bằng cách gán nó cho biến _SESSION chưa được số hóa bằng cách sử dụng hàm ‘unserialize’ -

Ví dụ

<?php
$data = serialize(array("abc", "defgh", "ijkxuz"));
echo $data . "<br>";
$test = unserialize($data);
var_dump($test);
?>

Đầu ra

Điều này sẽ tạo ra kết quả sau -

a:3:{i:0;s:3:"abc";i:1;s:5:"defgh";i:2;s:6:"ijkxuz";}
array(3) { [0]=> string(3) "abc" [1]=> string(5) "defgh" [2]=> string(6) "ijkxuz" }