वस्तुओं और संसाधनों की स्थायीता

परंपरागत वेब विकास में, PHP द्वारा बनाए गए ऑब्जेक्ट, डेटा, संसाधन आदि सभी अनुरोध पूरा होने पर रिलीज़ हो जाते हैं, जिससे स्थायीता प्राप्त कर पाना बहुत मुश्किल हो जाता है। लेकिन Workerman में, यह आसान है।

यदि आप Workerman में मेमोरी में कुछ डेटा संसाधनों को स्थायी रूप से सहेजना चाहते हैं, तो आप संसाधनों को ग्लोबल वैरिएबल में या क्लास के स्थैतिक सदस्यों में रख सकते हैं।

उदाहरण के लिए नीचे दिए गए कोड में:

एक ग्लोबल वैरिएबल $connection_count का उपयोग कर वर्तमान प्रक्रिया के क्लाइंट कनेक्शन की संख्या को सहेजें।

<?php
use Workerman\Worker;
use Workerman\Connection\TcpConnection;
require_once __DIR__ . '/vendor/autoload.php';

// ग्लोबल वैरिएबल, वर्तमान प्रक्रिया के क्लाइंट कनेक्शन की संख्या को सहेजें
$connection_count = 0;

$worker = new Worker('tcp://0.0.0.0:1236');

$worker->onConnect = function(TcpConnection $connection)
{
    // जब एक नया क्लाइंट कनेक्शन हो, तो कनेक्शन संख्या +1
    global $connection_count;
    ++$connection_count;
    echo "अब कनेक्शन संख्या = $connection_count\n";
};

$worker->onClose = function(TcpConnection $connection)
{
    // जब क्लाइंट बंद हो, तो कनेक्शन संख्या -1
    global $connection_count;
    $connection_count--;
    echo "अब कनेक्शन संख्या = $connection_count\n";
};

PHP वैरिएबल स्कोप के लिए देखें:

https://php.net/manual/zh/language.variables.scope.php