الدوام للكيانات والموارد

في تطوير الويب التقليدي، يتم تحرير الكيانات والبيانات والموارد التي تم إنشاؤها بواسطة 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 "now connection_count=$connection_count\n";
};

$worker->onClose = function(TcpConnection $connection)
{
    // عند إغلاق العميل، عدد الاتصالات -1
    global $connection_count;
    $connection_count--;
    echo "now connection_count=$connection_count\n";
};

راجع نطاق متغيرات PHP على الرابط:

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