/** * @param Observer $observer * @see Subject::detach() */ public function detach(Observer $observer) { $hash = $observer->hashCode(); if (isset($this->observers[$hash])) { unset($this->observers[$hash]); } }
/** * Remove um observador do objeto * @param Observer $observer * @return boolean TRUE caso o observador tenha sido * removido com sucesso * @see Subject::detach() */ public function detach( Observer $observer ) { if ( $observer instanceof Object ) { $hashCode = $observer->hashCode(); } else { $hashCode = spl_object_hash( $observer ); } if ( isset( $this->observers[ $hashCode ] ) ) { unset( $this->observers[ $hashCode ] ); return true; } return false; }