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);