_observer[] = $observer; } /** * @purpose: 从注册树中移除观察者 * @param string $key 给所添加的观察者的一个唯一 key,方便从注册树中移除观察者 * @return mixed */ public function removeObserver($key) { unset($this->_observer[$key]); } /** * @purpose: 广播通知以注册的观察者,对注册树进行遍历,让每个对象实现其接口提供的操作 * @return mixed */ public function notify($id,$data) { if(!empty($this->_observer)){ foreach ($this->_observer as $observer) { $data[] = $observer->eventClaim($id,$data); } } return !empty($data)?$data:[]; } }