observers[$eventname] ) ) { $this->observers[$eventname] = array(); } foreach ( $this->observers[$eventname] as $o ) { if ( $o == $observer ) { return; } } $this->observers[$eventname][] = $observer; } /** * Notifies listeners. * Sends the signal $eventname, the event identifier and a message object * to all observers that have been registered to receive notification for * this event. Part of the observer pattern implementation in RedBeanPHP. * * @param string $eventname event you want signal * @param mixed $info message object to send along * * @return void */ public function signal( $eventname, $info ) { if ( !isset( $this->observers[$eventname] ) ) { $this->observers[$eventname] = array(); } foreach ( $this->observers[$eventname] as $observer ) { $observer->onEvent( $eventname, $info ); } } }