注册树模式是把对象挂到一个类的属性数组里,下次直接在这个数组里面取,保持全局唯一,一般在项目入口初始化的时候有用到。在workerman中一开始的就是个注册树模式的运用,下面是对他的模拟 在Worke
注册树模式是把对象挂到一个类的属性数组里,下次直接在这个数组里面取,保持全局唯一,一般在项目入口初始化的时候有用到。在workerman中一开始的就是个注册树模式的运用,下面是对他的模拟
<?PHP
class Worker{
protected static $_workers=array();
public function __construct()
{
$this->workerId=spl_object_hash($this);
static::$_workers[$this->workerId]=;
}
static runAll(){
foreach ($_workers as $worker) {
var_dump();
}
}
}
new Worker();
Worker();
Worker::runAll();
在Worker的构造函数中,把当前new的对象挂到了Worker类的静态变量属性数组里,在下次使用的时候直接在那个数组里取
![](https://www.jb51.cc/res/2021/02-02/09/024b5de371197210f74848c1f070ddd5.png)