npo/message-content-bundle

Symfony bundle for npo/message-content

40.2 2024-04-17 09:04 UTC

README

composer require npo/message-content-bundle

This package provides a configured factory for message-content messages aliased as @npo_message_content.message_factory.

Usage

Add to config/bundles.php:

NpoMessage\ContentBundle\MessageContentBundle::class => ['all' => true],

Example in services.yaml:

App\MyMessageHandler:
  arguments: 
    $messageFactory: '@npo_message_content.message_factory'

Example in App\MyMessageHandler

<php

namespace App;

use NpoMessage\Content\Domain\Factory\IChainMessageFactory;

class MyMessageHandler
{
    public function __construct(
        private IChainMessageFactory $factory
    ){}
    
    public function handleMessage(string $message): void
    {
        if(!$this->factory->supports($message)) {
            return;
        }
        
        try {
            $messageAbstract = $this->factory->create($message);
        } catch (UnsupportedMessageException $exception) {
            // handle unsupported message
        }
    }
}