GlobalData Variablen-Sharing-Komponente
(Workerman-Version >= 3.3.0 erforderlich)
Quellcode: https://github.com/walkor/GlobalData
Hinweis
GlobalData erfordert Workerman-Version >= 3.3.0
Installation
composer require workerman/globaldata
Prinzip
Durch Verwendung der magischen PHP-Methoden __set __get __isset __unset
wird die Kommunikation mit dem GlobalData-Server ausgelöst, wobei die tatsächlichen Variablen auf dem GlobalData-Server gespeichert werden. Zum Beispiel, wenn einer Client-Klasse eine nicht vorhandene Eigenschaft zugewiesen wird, wird die magische Methode __set
ausgelöst, und die Client-Klasse sendet eine Anfrage an den GlobalData-Server, um eine Variable zu speichern. Wenn auf eine nicht existierende Variable der Client-Klasse zugegriffen wird, wird die Methode __get
der Klasse ausgelöst, und der Client sendet eine Anfrage an den GlobalData-Server, um diesen Wert zu lesen, um eine gemeinsame Verarbeitung von Variablen zwischen Prozessen zu ermöglichen.
require_once __DIR__ . '/vendor/autoload.php';
// Verbindung zum GlobalData-Server herstellen
$global = new GlobalData\Client('127.0.0.1:2207');
// Auslösen von $global->__isset('somedata'), um abzufragen, ob der Server einen Wert mit dem Schlüssel "somedata" gespeichert hat
isset($global->somedata);
// Auslösen von $global->__set('somedata',array(1,2,3)), um den Server darüber zu informieren, dass der Wert von "somedata" auf array(1,2,3) gesetzt werden soll
$global->somedata = array(1,2,3);
// Auslösen von $global->__get('somedata') zur Abfrage des Werts von "somedata" vom Server
var_export($global->somedata);
// Auslösen von $global->__unset('somedata'), um den Server darüber zu informieren, dass "somedata" und der entsprechende Wert gelöscht werden sollen
unset($global->somedata);