Beispiel #1
0
 /**
  * Creates event stream
  * @param string|array|\observr\State\Listener\ListenerInterface $listener
  * @throws \InvalidArgumentException
  */
 function __construct($listener)
 {
     if (is_string($listener)) {
         $listener = Observer::listener($this, $listener);
     }
     if ($listener instanceof ListenerInterface && $listener instanceof NotifierAwareInterface) {
         $this->listener = $listener;
     } else {
         throw new \InvalidArgumentException();
     }
 }
 /**
  * Detach observer from subject
  * @param string $name
  * @param callable $observer
  */
 public function detach(callable $observer = null)
 {
     Observer::listener($this, 'on')->unwatch('on', $observer);
 }
Beispiel #3
0
 /**
  * Remove subject state container
  * @param mixed $name
  */
 public function unsetState($name = null)
 {
     Observer::unsetState($this, $name);
 }
Beispiel #4
0
 /**
  * Detach observer from subject
  * @param string $name
  */
 public function detach($name)
 {
     Observer::listener($this, $name)->unwatch($name);
 }