npo/message-media-bundle

Symfony 扩展包,用于 npo/message-media

40.2 2024-08-14 09:46 UTC

README

composer require npo/message-media-bundle

此包提供了一个配置好的工厂类用于 message-media 消息,别名 @npo_message_media.message_factory

使用方法

添加到 config/bundles.php

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

services.yaml 中的示例

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

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
        }
    }
}