Composant de partage de variable GlobalData

(Nécessite une version de Workerman >= 3.3.0)

Adresse du code source : https://github.com/walkor/GlobalData

Remarque

GlobalData nécessite une version de Workerman >= 3.3.0

Installation

composer require workerman/globaldata

Principe

Le composant GlobalData utilise les méthodes magiques de PHP __set __get __isset __unset pour déclencher la communication avec le serveur GlobalData, les variables réelles étant stockées sur le serveur GlobalData. Par exemple, lorsque vous définissez une propriété inexistante pour une classe cliente, la méthode magique __set est déclenchée, la classe cliente envoie une requête au serveur GlobalData dans la méthode __set pour stocker une variable. Lorsque vous accédez à une variable inexistante de la classe cliente, la méthode __get de la classe cliente envoie une requête au serveur GlobalData pour récupérer cette valeur, complétant ainsi le partage de variables entre les processus.

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

// Connexion au serveur Global Data
$global = new GlobalData\Client('127.0.0.1:2207');

// Déclenche $global->__isset('somedata') pour interroger le serveur sur la présence de la clé somedata
isset($global->somedata);

// Déclenche $global->__set('somedata',array(1,2,3)) pour notifier au serveur de stocker la valeur correspondante à somedata comme array(1,2,3)
$global->somedata = array(1,2,3);

// Déclenche $global->__get('somedata') pour interroger le serveur sur la valeur correspondante à somedata
var_export($global->somedata);

// Déclenche $global->__unset('somedata'), notifier au serveur de supprimer somedata et la valeur correspondante
unset($global->somedata);