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