[PHP] Workerman中的註冊樹模式

註冊樹模式是把對象掛到一個類的屬性數組裏,下次直接在這個數組裏面取,保持全局惟一,通常在項目入口初始化的時候有用到。在workerman中一開始的就是個註冊樹模式的運用,下面是對他的模擬php

<?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類的靜態變量屬性數組裏,在下次使用的時候直接在那個數組裏取數組

相關文章
相關標籤/搜索