Workerman中的注册树模式

注册树模式是把对象挂到一个类的属性数组里,下次直接在这个数组里面取,保持全局唯一,一般在项目入口初始化的时候有用到。在workerman中一开始的就是个注册树模式的运用,下面是对他的模拟:

`workerId=spl_object_hash(``$this``);`

`static``::``$_workers``[``$this``->workerId]=``$this``;`

`}`

`public` `static` `function` `runAll(){`

`foreach` `(``static``::``$_workers` `as` `$worker``) {`

`var_dump(``$worker``);`

`}`

`}`

`}`

`new` `Worker();`

`new` `Worker();`

`Worker::runAll();`

在Worker的构造函数中,把当前new的对象挂到了Worker类的静态变量属性数组里,在下次使用的时候直接在那个数组里取

Workerman中的注册树模式_第1张图片

你可能感兴趣的:(php,workerman)