Componente de Compartición de Variables GlobalData

(se requiere Workerman versión >=3.3.0)

Dirección del código fuente: https://github.com/walkor/GlobalData

Nota

GlobalData necesita Workerman versión >=3.3.0

Instalación

composer require workerman/globaldata

Principio

Utiliza los métodos mágicos de PHP __set __get __isset __unset para activar la comunicación con el servidor GlobalData; las variables reales se almacenan en el servidor GlobalData. Por ejemplo, cuando se establece una propiedad inexistente en la clase del cliente, se activa el método mágico __set, que envía una solicitud al servidor GlobalData para almacenar una variable. Cuando se accede a una variable inexistente en la clase del cliente, se activa el método __get de la clase, y el cliente envía una solicitud al servidor GlobalData para leer este valor, completando así el intercambio de variables entre procesos.

require_once __DIR__ . '/vendor/autoload.php';

// Conectar al servidor Global Data
$global = new GlobalData\Client('127.0.0.1:2207');

// Activar $global->__isset('somedata') para consultar al servidor si se almacena el valor con la clave somedata
isset($global->somedata);

// Activar $global->__set('somedata',array(1,2,3)), notificar al servidor que almacena el valor de somedata como array(1,2,3)
$global->somedata = array(1,2,3);

// Activar $global->__get('somedata'), consultar al servidor el valor correspondiente a somedata
var_export($global->somedata);

// Activar $global->__unset('somedata'), notificar al servidor que elimine somedata y su valor correspondiente
unset($global->somedata);