maxkaemmerer/messaging-symfony-bridge
This is a bridge providing DI for maxkaemmerer/events and maxkaemmerer/command in symfony., (*1)
Just register the needed compiler passes in your symfony Kernel as seen below., (*2)
CommandBus and EventCourier are automatically registered as services., (*3)
Every symfony service implementing CommandHandler or EventSubscriber get automatically registered in the EventCourier or CommandBus., (*4)
So the only thing you need to do is start dispatching commands and events implementing the corresponding interfaces Command and Event, as seen in the documentation of maxkaemmerer/events and maxkaemmerer/commands. ;), (*5)
Symfony Kernel:, (*6)
use MaxKaemmerer\MessagingSymfonyBridge\CompilerPass\CommandBusPass;
use MaxKaemmerer\MessagingSymfonyBridge\CompilerPass\EventCourierPass;
use Symfony\Bundle\FrameworkBundle\Kernel\MicroKernelTrait;
use Symfony\Component\Config\Loader\LoaderInterface;
use Symfony\Component\Config\Resource\FileResource;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\HttpKernel\Kernel as BaseKernel;
use Symfony\Component\Routing\RouteCollectionBuilder;
class Kernel extends BaseKernel
{
// ...
protected function build(ContainerBuilder $container)
{
$container->addCompilerPass(new CommandBusPass());
$container->addCompilerPass(new EventCourierPass());
parent::build($container);
}
// ...
}
More detailed examples might follow., (*7)