swoole websocket 会话间上下文变量保存隔离情况测试

#测试2

<?php
/**
 * Created by PhpStorm.
 * User: miya
 * Time: 上午10:27
 */

class BeforeStart
{
    public static $num = 1;
    public $bindings = [];
    public $singleton = null;

    private static $instance;

    static function getInstance(...$args)
    {
        if(!isset(self::$instance)){
            self::$instance = new static(...$args);
        }
        return self::$instance;
    }


    public function set($num)
    {
        self::$num = $num;
    }

    public function get()
    {
        return self::$num;
    }

    public function pushList($some)
    {
        array_push($this->bindings,$some);
    }

    public function getList()
    {
        return $this->bindings;
    }

}

    public function onOpen(swoole_websocket_server $server, swoole_http_request $request)
    {
        $bs = new BeforeStart;
        $num = $bs->get() + 1;
        echo $num;
        $bs->set($num);
        echo $bs->get();
   }

同worker内静态变量、单例类 取到的是同一个

猜你喜欢

转载自blog.csdn.net/weixin_38447055/article/details/82883745