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') ট্রিগার করে সার্ভারে কীসমূহের সঙ্গে '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);