public function receiveEvent(Event $event): void
    {
        $event->freeze();
        $schema = $event::schema();
        $curie = $schema->getCurie();

        $vendor = $curie->getVendor();
        $package = $curie->getPackage();
        $category = $curie->getCategory();

        foreach ($schema->getMixinIds() as $mixinId) {
            $this->dispatch($mixinId, $event);
        }

        foreach ($schema->getMixinCuries() as $mixinCurie) {
            $this->dispatch($mixinCurie, $event);
        }

        $this->dispatch($schema->getCurieMajor(), $event);
        $this->dispatch($curie->toString(), $event);

        $this->dispatch(sprintf('%s:%s:%s:*', $vendor, $package, $category), $event);
        $this->dispatch(sprintf('%s:%s:*', $vendor, $package), $event);
        $this->dispatch(sprintf('%s:*', $vendor), $event);
        $this->dispatch('*', $event);
    }
public function receiveEvent(Event $event): void
    {
        $event->freeze();
        $schema = $event::schema();
        $curie = $schema->getCurie();

        $vendor = $curie->getVendor();
        $package = $curie->getPackage();
        $category = $curie->getCategory();

        foreach ($schema->getMixinIds() as $mixinId) {
            $this->dispatch($mixinId, $event);
        }

        foreach ($schema->getMixinCuries() as $mixinCurie) {
            $this->dispatch($mixinCurie, $event);
        }

        $this->dispatch($schema->getCurieMajor(), $event);
        $this->dispatch($curie->toString(), $event);

        $this->dispatch(sprintf('%s:%s:%s:*', $vendor, $package, $category), $event);
        $this->dispatch(sprintf('%s:%s:*', $vendor, $package), $event);
        $this->dispatch(sprintf('%s:*', $vendor), $event);
        $this->dispatch('*', $event);
    }
public function receiveEvent ( Event $ event ) : void { $ event -> freeze ( ) ; $ schema = $ event :: schema ( ) ; $ curie = $ schema -> getCurie ( ) ; $ vendor = $ curie -> getVendor ( ) ; $ package = $ curie -> getPackage ( ) ; $ category = $ curie -> getCategory ( ) ; foreach ( $ schema -> getMixinIds ( ) as $ mixinId ) { $ this -> dispatch ( $ mixinId , $ event ) ; } foreach ( $ schema -> getMixinCuries ( ) as $ mixinCurie ) { $ this -> dispatch ( $ mixinCurie , $ event ) ; } $ this -> dispatch ( $ schema -> getCurieMajor ( ) , $ event ) ; $ this -> dispatch ( $ curie -> toString ( ) , $ event ) ; $ this -> dispatch ( sprintf ( '%s:%s:%s:*' , $ vendor , $ package , $ category ) , $ event ) ; $ this -> dispatch ( sprintf ( '%s:%s:*' , $ vendor , $ package ) , $ event ) ; $ this -> dispatch ( sprintf ( '%s:*' , $ vendor ) , $ event ) ; $ this -> dispatch ( '*' , $ event ) ; }
Publishes the event to all subscribers using the dispatcher, which processes
events in memory.  If any events throw an exception an EventExecutionFailed
event will be published.

{@inheritdoc}
Publishes the event to all subscribers using the dispatcher which processes events in memory . If any events throw an exception an EventExecutionFailed event will be published .