npo/message-media-bundle

Symfony bundle for npo/message-media

42.0 2024-11-12 09:54 UTC

README

composer require npo/message-media-bundle

This package provides a configured factory for message-media messages aliased as @npo_message_media.message_factory.

Usage

Add to config/bundles.php:

NpoMessage\MediaBundle\MessageMediaBundle::class => ['all' => true],

Example in services.yaml:

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

Example in App\MyMessageHandler

<php

namespace App;

use NpoMessage\Media\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
        }
    }
}