GlobalData değişken paylaşım bileşeni
(Workerman sürümü >=3.3.0 gerektirir)
Kaynak kod adresi: https://github.com/walkor/GlobalData
Uyarı
GlobalData'nın Workerman sürümü >=3.3.0 gerektirir
Yükleme
composer require workerman/globaldata
Prensip
PHP'nin __set __get __isset __unset
büyücü yöntemlerini kullanarak GlobalData sunucusu ile iletişime geçilir ve gerçek değişkenler GlobalData sunucusunda depolanır. Örneğin, bir istemci sınıfına mevcut olmayan bir özellik atandığında __set
büyücü yöntemi tetiklenir, istemci sınıfı __set
yönteminde GlobalData sunucusuna bir istek göndererek bir değişkeni saklar. Bir istemci sınıfında mevcut olmayan bir değişkene erişildiğinde, sınıfın __get
yöntemi tetiklenir, istemci GlobalData sunucusuna bir istek gönderir ve bu değeri okur, böylece süreçler arası değişken paylaşımı tamamlanmış olur.
require_once __DIR__ . '/vendor/autoload.php';
// Global Data sunucusuna bağlan
$global = new GlobalData\Client('127.0.0.1:2207');
// $global->somedata var mı diye sorgulamak için $global->__isset('somedata') tetiklenir
isset($global->somedata);
// $global->somedata'ya array(1,2,3) değerini saklamak için $global->__set('somedata',array(1,2,3)) tetiklenir
$global->somedata = array(1,2,3);
// $global->somedata'nın değerini sorgulamak için $global->__get('somedata') tetiklenir
var_export($global->somedata);
// $global->somedata'yı silmek için $global->__unset('somedata') tetiklenir, bu da sunucudan somedata ve karşılık gelen değerini siler
unset($global->somedata);