Componente de Compartilhamento de Variáveis GlobalData

(Requer Workerman versão >=3.3.0)

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

Observação

GlobalData requer Workerman versão >=3.3.0

Instalação

composer require workerman/globaldata

Princípio

Utiliza os métodos mágicos do PHP __set __get __isset __unset para disparar comunicação com o servidor GlobalData, onde as variáveis reais são armazenadas. Por exemplo, quando uma propriedade inexistente é definida na classe cliente, o método mágico __set é ativado, e a classe cliente envia uma solicitação ao servidor GlobalData para armazenar uma variável. Quando uma variável inexistente da classe cliente é acessada, o método __get da classe é acionado, e o cliente faz uma solicitação ao servidor GlobalData para ler este valor, completando assim o compartilhamento de variáveis entre processos.

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

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

// Dispara $global->__isset('somedata') para consultar se o servidor armazena o valor com a chave somedata
isset($global->somedata);

// Dispara $global->__set('somedata',array(1,2,3)), notificando o servidor para armazenar o valor correspondente a somedata como array(1,2,3)
$global->somedata = array(1,2,3);

// Dispara $global->__get('somedata'), consultando o servidor para obter o valor correspondente a somedata
var_export($global->somedata);

// Dispara $global->__unset('somedata'), notificando o servidor para remover somedata e seu valor correspondente
unset($global->somedata);