Biến Chia Sẻ GlobalData
(Yêu cầu phiên bản Workerman >= 3.3.0)
Địa chỉ mã nguồn: https://github.com/walkor/GlobalData
Lưu ý
GlobalData yêu cầu phiên bản Workerman >= 3.3.0
Cài đặt
composer require workerman/globaldata
Nguyên lý
Sử dụng các phương thức ma thuật PHP __set __get __isset __unset để kích hoạt giao tiếp với máy chủ GlobalData, trong đó biến thực tế được lưu trữ trên máy chủ GlobalData. Ví dụ, khi thiết lập một thuộc tính không tồn tại cho lớp khách hàng, phương thức ma thuật __set sẽ được kích hoạt, và lớp khách hàng sẽ gửi yêu cầu đến máy chủ GlobalData để lưu một biến. Khi truy cập một biến không tồn tại của lớp khách hàng, phương thức __get của lớp sẽ được kích hoạt, lớp khách hàng sẽ gửi yêu cầu đến máy chủ GlobalData để đọc giá trị này, từ đó hoàn thành việc chia sẻ biến giữa các tiến trình.
require_once __DIR__ . '/vendor/autoload.php';
// Kết nối với máy chủ Global Data
$global = new GlobalData\Client('127.0.0.1:2207');
// Kích hoạt $global->__isset('somedata') để kiểm tra xem máy chủ có lưu trữ giá trị với key là somedata không
isset($global->somedata);
// Kích hoạt $global->__set('somedata',array(1,2,3)), thông báo cho máy chủ lưu trữ giá trị tương ứng với somedata là array(1,2,3)
$global->somedata = array(1,2,3);
// Kích hoạt $global->__get('somedata'), truy vấn giá trị tương ứng với somedata từ máy chủ
var_export($global->somedata);
// Kích hoạt $global->__unset('somedata'), thông báo cho máy chủ xóa somedata và giá trị tương ứng
unset($global->somedata);