Composant de partage de variables GlobalData
(nécessite Workerman version >=3.3.0)
Adresse du code source : https://github.com/walkor/GlobalData
Attention
GlobalData nécessite Workerman version >=3.3.0
Installation
composer require workerman/globaldata
Principe
Utilise les méthodes magiques PHP __set __get __isset __unset pour déclencher la communication avec le serveur GlobalData, la variable réelle étant stockée sur le serveur GlobalData. Par exemple, lorsque vous définissez une propriété inexistante pour la classe cliente, cela déclenche la méthode magique __set, et la classe cliente envoie une requête au serveur GlobalData pour stocker une variable. Lorsque vous accédez à une variable inexistante de la classe cliente, cela déclenche la méthode __get de la classe, et le client effectuera une requête au serveur GlobalData pour lire cette valeur, ce qui permet de partager des variables entre processus.
require_once __DIR__ . '/vendor/autoload.php';
// Se connecter au serveur Global Data
$global = new GlobalData\Client('127.0.0.1:2207');
// Déclenche $global->__isset('somedata') pour vérifier si le serveur stocke une valeur avec la clé somedata
isset($global->somedata);
// Déclenche $global->__set('somedata',array(1,2,3)) pour notifier le serveur de stocker la valeur de somedata comme array(1,2,3)
$global->somedata = array(1,2,3);
// Déclenche $global->__get('somedata') pour interroger le serveur sur la valeur correspondant à somedata
var_export($global->somedata);
// Déclenche $global->__unset('somedata') pour notifier le serveur de supprimer somedata et la valeur correspondante
unset($global->somedata);