Componente de Variables Globales Compartidas GlobalData

(Requiere versión de Workerman >= 3.3.0)

Código fuente: https://github.com/walkor/GlobalData

Nota

GlobalData requiere una versión de Workerman >= 3.3.0

Instalación

composer require workerman/globaldata

Principio

Utiliza los métodos mágicos __set __get __isset __unset de PHP para desencadenar la comunicación con el servidor GlobalData, donde las variables reales se almacenan en el servidor GlobalData. Por ejemplo, cuando se le asigna una propiedad inexistente a una clase cliente, se desencadena el método mágico __set, y la clase cliente envía una solicitud al servidor GlobalData para almacenar una variable. Cuando se accede a una variable inexistente de la clase cliente, se desencadena 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';

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

// Desencadena $global->__isset('somedata') para consultar al servidor si existe una clave llamada somedata almacenada
isset($global->somedata);

// Desencadena $global->__set('somedata',array(1,2,3)), notificando al servidor para almacenar el valor array(1,2,3) correspondiente a somedata
$global->somedata = array(1,2,3);

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

// Desencadena $global->__unset('somedata'), notificando al servidor para eliminar somedata junto con su valor correspondiente
unset($global->somedata);