[PHP] Workerman中的注册树模式

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

<?php
class Worker{

    protected static $_workers=array();
    public function __construct()
    {
        $this->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类的静态变量属性数组里,在下次使用的时候直接在那个数组里取

 

posted @ 2019-12-07 11:29  唯一客服系统开发笔记  阅读(282)  评论(0编辑  收藏  举报