GlobalData वेरिएबल साझा घटक

(आवश्यक Workerman संस्करण >= 3.3.0)

सोर्स कोड पता: https://github.com/walkor/GlobalData

ध्यान दें

GlobalData को Workerman संस्करण >= 3.3.0 की आवश्यकता है

स्थापना

composer require workerman/globaldata

सिद्धांत

PHP के __set __get __isset __unset जादुई विधियों का उपयोग कर GlobalData सर्वर संचार को सक्रिय करें, वास्तविक वेरिएबल GlobalData सर्वर पर संग्रहीत होते हैं। उदाहरण के लिए जब क्लाइंट वर्ग को एक गैर-मौजूद विशेषता सेट की जाती है, तो __set जादुई विधि सक्रिय होती है, क्लाइंट वर्ग __set विधि में GlobalData सर्वर को एक अनुरोध भेजता है, एक वेरिएबल संग्रहीत करता है। जब क्लाइंट वर्ग में एक गैर-मौजूद वेरिएबल को एक्सेस किया जाता है, तो वर्ग का __get विधि सक्रिय होती है, क्लाइंट GlobalData सर्वर को एक अनुरोध भेजता है, इस मान को पढ़ता है, इस प्रकार प्रक्रिया के बीच वेरिएबल साझा करना पूरा होता है।

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

// Global Data सर्वर से कनेक्ट करें
$global = new GlobalData\Client('127.0.0.1:2207');

// $global->__isset('somedata') को सक्रिय करें, यह जाँचने के लिए कि क्या सर्वर पर key के साथ somedata का मान संग्रहीत है
isset($global->somedata);

// $global->__set('somedata',array(1,2,3)) को सक्रिय करें, सर्वर को सन्देश देते हुए कि somedata का मान array(1,2,3) होना चाहिए
$global->somedata = array(1,2,3);

// $global->__get('somedata') को सक्रिय करें, सर्वर से somedata का मान पूछने के लिए
var_export($global->somedata);

// $global->__unset('somedata') को सक्रिय करें, सर्वर को सूचित करते हुए कि somedata और उसके मान को हटा दें
unset($global->somedata);