Persistencia de objetos y recursos

En el desarrollo web tradicional, los objetos, datos, recursos, etc., creados por PHP se liberan una vez que se completa la solicitud, lo que dificulta la persistencia. Sin embargo, en Workerman, esto se puede lograr fácilmente.

En Workerman, si se desea guardar permanentemente ciertos recursos de datos en memoria, se pueden colocar en una variable global o en un miembro estático de una clase.

Por ejemplo, el siguiente código:

Usa una variable global $connection_count para almacenar el número de conexiones de clientes del proceso actual.

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

// Variable global que guarda el número de conexiones de clientes del proceso actual
$connection_count = 0;

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

$worker->onConnect = function(TcpConnection $connection)
{
    // Cuando hay una nueva conexión de cliente, aumentar el contador de conexiones en 1
    global $connection_count;
    ++$connection_count;
    echo "ahora connection_count=$connection_count\n";
};

$worker->onClose = function(TcpConnection $connection)
{
    // Cuando un cliente se desconecta, reducir el contador de conexiones en 1
    global $connection_count;
    $connection_count--;
    echo "ahora connection_count=$connection_count\n";
};

Consulte el ámbito de variables de PHP en:

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